/
getcolumn.go
58 lines (48 loc) · 1.27 KB
/
getcolumn.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package main
import (
"context"
"database/cassandra"
"flag"
"log"
)
func main() {
var uuid cassandra.UUID
var conn *cassandra.RetryCassandraClient
var r *cassandra.ColumnOrSuperColumn
var cp *cassandra.ColumnPath
var err error
var uuid_str, dbserver, dbname, columnfamily, column string
flag.StringVar(&uuid_str, "uuid-string", "",
"UUID string to look at")
flag.StringVar(&dbserver, "cassandra-server", "localhost:9160",
"Database server to look at")
flag.StringVar(&dbname, "dbname", "sfmembersys",
"Database name to look at")
flag.StringVar(&columnfamily, "column-family", "",
"Column family to look at")
flag.StringVar(&column, "column-name", "",
"Column name to look at")
flag.Parse()
uuid, err = cassandra.ParseUUID(uuid_str)
if err != nil {
log.Fatal(err)
}
conn, err = cassandra.NewRetryCassandraClient(dbserver)
if err != nil {
log.Fatal(err)
}
err = conn.SetKeyspace(context.Background(), dbname)
if err != nil {
log.Fatal(err)
}
cp = cassandra.NewColumnPath()
cp.ColumnFamily = columnfamily
cp.Column = []byte(column)
r, err = conn.Get(context.Background(), []byte(uuid), cp,
cassandra.ConsistencyLevel_ONE)
if err != nil {
log.Fatal(err)
}
log.Print(r.Column.Name, ": ", r.Column.Value, " (",
r.Column.Timestamp, ")")
}