github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/database/unqlite/example_test.go (about) 1 // Copyright 2014 <chaishushan{AT}gmail.com>. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build ingore 6 7 package unqlite_test 8 9 import ( 10 "fmt" 11 "io/ioutil" 12 "log" 13 "os" 14 15 "chai2010.gopkg/database/unqlite" 16 ) 17 18 func ExampleOpen() { 19 f, err := ioutil.TempFile("./", "unqlite_") 20 if err != nil { 21 log.Fatal(err) 22 } 23 defer os.Remove(f.Name()) 24 25 // Open file database. 26 db, err := unqlite.Open(f.Name()) 27 if err != nil { 28 log.Fatal(err) 29 } 30 db.Close() 31 32 // Open in memory database. 33 db, err = unqlite.Open(":mem:") 34 if err != nil { 35 log.Fatal(err) 36 } 37 db.Close() 38 } 39 40 func ExampleHandle_Close() { 41 db, err := unqlite.Open(":mem:") 42 if err != nil { 43 log.Fatal(err) 44 } 45 46 err = db.Close() 47 if err != nil { 48 log.Fatal(err) 49 } 50 51 err = db.Close() 52 fmt.Println(err) 53 // Output: nil unqlite database 54 } 55 56 func ExampleHandle_Store() { 57 db, err := unqlite.Open(":mem:") 58 if err != nil { 59 log.Fatal(err) 60 } 61 defer db.Close() 62 63 db.Store([]byte("key"), []byte("value")) 64 } 65 66 func ExampleHandle_Append() { 67 db, err := unqlite.Open(":mem:") 68 if err != nil { 69 log.Fatal(err) 70 } 71 defer db.Close() 72 73 db.Append([]byte("key"), []byte{'a'}) 74 v, err := db.Fetch([]byte("key")) 75 if err != nil { 76 log.Fatal(err) 77 } 78 fmt.Println(v) 79 80 db.Append([]byte("key"), []byte{'b'}) 81 v, err = db.Fetch([]byte("key")) 82 if err != nil { 83 log.Fatal(err) 84 } 85 fmt.Println(v) 86 87 // Output: [97] 88 // [97 98] 89 } 90 91 func ExampleHandle_Fetch() { 92 db, err := unqlite.Open(":mem:") 93 if err != nil { 94 log.Fatal(err) 95 } 96 defer db.Close() 97 98 v, err := db.Fetch([]byte("key")) 99 fmt.Println(err) 100 101 err = db.Store([]byte("key"), []byte{'a'}) 102 v, err = db.Fetch([]byte("key")) 103 if err != nil { 104 log.Fatal(err) 105 } 106 fmt.Println(v) 107 108 // Output: No such record 109 // [97] 110 } 111 112 func ExampleHandle_Delete() { 113 db, err := unqlite.Open(":mem:") 114 if err != nil { 115 log.Fatal(err) 116 } 117 defer db.Close() 118 119 err = db.Store([]byte("key"), []byte{'a'}) 120 v, err := db.Fetch([]byte("key")) 121 if err != nil { 122 log.Fatal(err) 123 } 124 fmt.Println(v) 125 126 err = db.Delete([]byte("key")) 127 if err != nil { 128 log.Fatal(err) 129 } 130 131 v, err = db.Fetch([]byte("key")) 132 fmt.Println(err) 133 134 // Output: [97] 135 // No such record 136 } 137 138 func ExampleThreadsafe() { 139 fmt.Println(unqlite.Threadsafe()) 140 // Output: true 141 }