Skip to content

Commit 247ae78

Browse files
authored
Merge pull request #32 from blacktear23/rain-dev
Update kvql version
2 parents 7d06f18 + 0fa5202 commit 247ae78

File tree

5 files changed

+32
-32
lines changed

5 files changed

+32
-32
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.21.1
55
require (
66
github.com/AlecAivazis/survey/v2 v2.2.16
77
github.com/abiosoft/ishell v2.0.0+incompatible
8-
github.com/c4pt0r/kvql v0.0.0-20240430104934-7b545befa94b
8+
github.com/c4pt0r/kvql v0.0.0-20240509061143-2e732b17190f
99
github.com/c4pt0r/log v0.0.0-20211004143616-aa6380016a47
1010
github.com/fatih/color v1.12.0
1111
github.com/magiconair/properties v1.8.0

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB
5454
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k=
5555
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
5656
github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
57-
github.com/c4pt0r/kvql v0.0.0-20240430104934-7b545befa94b h1:Jq0/cYshzIxkmMinqo/8HpCFI/vNnWrIDOoozT7Hkwg=
58-
github.com/c4pt0r/kvql v0.0.0-20240430104934-7b545befa94b/go.mod h1:ksAcL0FG13v+9UVAznpGjkIh2yB3qUSkgoNR4aPrl9w=
57+
github.com/c4pt0r/kvql v0.0.0-20240509061143-2e732b17190f h1:v83DkTOSXdNJBi3iZIIfrlh5SXxA/MXGM+lBP5EWOX8=
58+
github.com/c4pt0r/kvql v0.0.0-20240509061143-2e732b17190f/go.mod h1:ksAcL0FG13v+9UVAznpGjkIh2yB3qUSkgoNR4aPrl9w=
5959
github.com/c4pt0r/log v0.0.0-20211004143616-aa6380016a47 h1:I7bb8MbleLvoW6scHXngCQaroNa9slYTaYOaQEsv2TQ=
6060
github.com/c4pt0r/log v0.0.0-20211004143616-aa6380016a47/go.mod h1:N78ACK7UQq5KjTLWQPw2A7UuzX712vN9akunb8ydlck=
6161
github.com/cakturk/go-netstat v0.0.0-20200220111822-e5b49efee7a5 h1:BjkPE3785EwPhhyuFkbINB+2a1xATwk8SNDWnJiD41g=

kvcmds/cmd_explain.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package kvcmds
33
import (
44
"context"
55

6-
"github.com/c4pt0r/tcli"
76
"github.com/c4pt0r/kvql"
7+
"github.com/c4pt0r/tcli"
88
"github.com/c4pt0r/tcli/client"
99
"github.com/c4pt0r/tcli/query"
1010
"github.com/c4pt0r/tcli/utils"
@@ -41,7 +41,7 @@ func (c ExplainCmd) Handler() func(ctx context.Context) {
4141
return nil
4242
}
4343
sql := getQueryString(ic)
44-
qtxn := query.NewQueryTxn(client.GetTiKVClient())
44+
qtxn := query.NewQueryStorage(client.GetTiKVClient())
4545
opt := kvql.NewOptimizer(sql)
4646
plan, err := opt.BuildPlan(qtxn)
4747
if err != nil {

kvcmds/cmd_query.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import (
77
"strings"
88

99
"github.com/abiosoft/ishell"
10+
"github.com/c4pt0r/kvql"
1011
"github.com/c4pt0r/tcli"
1112
"github.com/c4pt0r/tcli/client"
12-
"github.com/c4pt0r/kvql"
1313
"github.com/c4pt0r/tcli/query"
1414
"github.com/c4pt0r/tcli/utils"
1515
)
@@ -79,7 +79,7 @@ func (c QueryCmd) Handler() func(ctx context.Context) {
7979
return nil
8080
}
8181
sql := getQueryString(ic)
82-
qtxn := query.NewQueryTxn(client.GetTiKVClient())
82+
qtxn := query.NewQueryStorage(client.GetTiKVClient())
8383
opt := kvql.NewOptimizer(sql)
8484
plan, err := opt.BuildPlan(qtxn)
8585
if err != nil {

query/query_txn.go

+25-25
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@ import (
1212
)
1313

1414
var (
15-
_ kvql.Txn = (*queryTxn)(nil)
16-
_ kvql.Cursor = (*queryCursor)(nil)
15+
_ kvql.Storage = (*queryStorage)(nil)
16+
_ kvql.Cursor = (*queryCursor)(nil)
1717
)
1818

19-
type queryTxn struct {
19+
type queryStorage struct {
2020
client client.Client
2121
}
2222

23-
func NewQueryTxn(client client.Client) kvql.Txn {
24-
return &queryTxn{
23+
func NewQueryStorage(client client.Client) kvql.Storage {
24+
return &queryStorage{
2525
client: client,
2626
}
2727
}
2828

29-
func (t *queryTxn) Get(key []byte) ([]byte, error) {
30-
kv, err := t.client.Get(context.TODO(), client.Key(key))
29+
func (s *queryStorage) Get(key []byte) ([]byte, error) {
30+
kv, err := s.client.Get(context.TODO(), client.Key(key))
3131
if err != nil {
3232
if err.Error() == "not exist" {
3333
return nil, nil
@@ -37,41 +37,41 @@ func (t *queryTxn) Get(key []byte) ([]byte, error) {
3737
return kv.V, nil
3838
}
3939

40-
func (t *queryTxn) Put(key []byte, value []byte) error {
41-
return t.client.Put(context.TODO(), client.KV{K: key, V: value})
40+
func (s *queryStorage) Put(key []byte, value []byte) error {
41+
return s.client.Put(context.TODO(), client.KV{K: key, V: value})
4242
}
4343

44-
func (t *queryTxn) BatchPut(kvs []kvql.KVPair) error {
45-
var kvs2 []client.KV
46-
for _, kv := range kvs {
47-
kvs2 = append(kvs2, client.KV{K: kv.Key, V: kv.Value})
44+
func (s *queryStorage) BatchPut(kvs []kvql.KVPair) error {
45+
tkvs := make([]client.KV, len(kvs))
46+
for i, kv := range kvs {
47+
tkvs[i] = client.KV{K: kv.Key, V: kv.Value}
4848
}
49-
return t.client.BatchPut(context.TODO(), kvs2)
49+
return s.client.BatchPut(context.TODO(), tkvs)
5050
}
5151

52-
func (t *queryTxn) Delete(key []byte) error {
53-
return t.client.Delete(context.TODO(), key)
52+
func (s *queryStorage) Delete(key []byte) error {
53+
return s.client.Delete(context.TODO(), key)
5454
}
5555

56-
func (t *queryTxn) BatchDelete(keys [][]byte) error {
57-
var kvs []client.KV
58-
for _, k := range keys {
59-
kvs = append(kvs, client.KV{K: k})
56+
func (s *queryStorage) BatchDelete(keys [][]byte) error {
57+
tkvs := make([]client.KV, len(keys))
58+
for i, key := range keys {
59+
tkvs[i] = client.KV{K: key}
6060
}
61-
return t.client.BatchDelete(context.TODO(), kvs)
61+
return s.client.BatchDelete(context.TODO(), tkvs)
6262
}
6363

64-
func (t *queryTxn) Cursor() (kvql.Cursor, error) {
64+
func (s *queryStorage) Cursor() (kvql.Cursor, error) {
6565
return &queryCursor{
66-
txn: t,
66+
storage: s,
6767
batch: nil,
6868
prefix: []byte{},
6969
iterPos: 0,
7070
}, nil
7171
}
7272

7373
type queryCursor struct {
74-
txn *queryTxn
74+
storage *queryStorage
7575
batch client.KVS
7676
batchSize int
7777
prefix []byte
@@ -86,7 +86,7 @@ func (c *queryCursor) loadBatch() error {
8686
scanOpt.Set(tcli.ScanOptCountOnly, "false")
8787
scanOpt.Set(tcli.ScanOptStrictPrefix, "false")
8888
qctx := utils.ContextWithProp(context.TODO(), scanOpt)
89-
kvs, n, err := c.txn.client.Scan(qctx, c.prefix)
89+
kvs, n, err := c.storage.client.Scan(qctx, c.prefix)
9090
if err != nil {
9191
return err
9292
}

0 commit comments

Comments
 (0)