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  }