mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
The testhook post-test hooks only work if you use a TestMain to invoke them, otherwise the cleanups can be registered but never actually get run. This deletes the etcd sockets, and temp directories, that we created from our test runs. We also fix the test creating a temp file directly to create it in a TempDir (which gets cleaned up after the test), and fix the name of the top-level tests displayed in TestMain. |
||
|---|---|---|
| .. | ||
| csv | ||
| docs | ||
| egpool | ||
| batch.go | ||
| batch_test.go | ||
| client.go | ||
| client_it_test.go | ||
| client_test.go | ||
| cluster.go | ||
| cluster_test.go | ||
| doc.go | ||
| error.go | ||
| ingest_api_batch.go | ||
| ingest_api_batch_test.go | ||
| logimport.go | ||
| logimport_test.go | ||
| main_test.go | ||
| metrics.go | ||
| orm.go | ||
| orm_test.go | ||
| README.md | ||
| record.go | ||
| record_test.go | ||
| response.go | ||
| response_test.go | ||
| shardnodes.go | ||
| tracer.go | ||
| validate.go | ||
| validate_test.go | ||
| version.go | ||
Go Client for Pilosa
Go client for Pilosa high performance distributed index.
Usage
If you have the pilosa repo in your GOPATH,
you can import the library in your code using:
import "github.com/pilosa/pilosa/v2/client"
Quick overview
Assuming Pilosa server is running at localhost:10101 (the default):
package main
import (
"fmt"
"github.com/pilosa/pilosa/v2/client"
)
func main() {
// Create the default client
cli := client.DefaultClient()
// Retrieve the schema
schema, err := cli.Schema()
// Create an Index object
myindex := schema.Index("myindex")
// Create a Field object
myfield := myindex.Field("myfield")
// make sure the index and the field exists on the server
err := cli.SyncSchema(schema)
// Send a Set query. If err is non-nil, response will be nil.
response, err := cli.Query(myfield.Set(5, 42))
// Send a Row query. If err is non-nil, response will be nil.
response, err = cli.Query(myfield.Row(5))
// Get the result
result := response.Result()
// Act on the result
if result != nil {
columns := result.Row().Columns
fmt.Println("Got columns: ", columns)
}
// You can batch queries to improve throughput
response, err = cli.Query(myindex.BatchQuery(
myfield.Row(5),
myfield.Row(10)))
if err != nil {
fmt.Println(err)
}
for _, result := range response.Results() {
// Act on the result
fmt.Println(result.Row().Columns)
}
}
Documentation
Data Model and Queries
Executing Queries
See: Server Interaction