@@ -26,6 +26,20 @@ func TestCommands(t *testing.T) {
26
26
assert .Contains (t , res , `[{"i":1,"j":5}]` )
27
27
}
28
28
29
+ func TestDotCommands (t * testing.T ) {
30
+ db := NewInMemoryDB ()
31
+
32
+ commands := []string {
33
+ ".databases" ,
34
+ }
35
+ res , err := db .RunCommands (commands )
36
+ if err != nil {
37
+ t .Fail ()
38
+ return
39
+ }
40
+ assert .Contains (t , res , `memory` )
41
+ }
42
+
29
43
func TestCommandsDocker (t * testing.T ) {
30
44
db := NewInMemoryDB (Opts {Docker : true })
31
45
@@ -74,6 +88,66 @@ func TestQueryFrame(t *testing.T) {
74
88
assert .Contains (t , res , `[{"value":"test"}]` )
75
89
}
76
90
91
+ func TestQueryAgg (t * testing.T ) {
92
+ db := NewInMemoryDB ()
93
+
94
+ var values = []string {"test" }
95
+ frame := data .NewFrame ("foo" , data .NewField ("value" , nil , values ))
96
+ frame .RefID = "foo"
97
+ frames := []* data.Frame {frame }
98
+
99
+ res , _ , err := db .QueryFrames ("foo" , "select min(value) as value from foo" , frames )
100
+ assert .Nil (t , err )
101
+
102
+ assert .Contains (t , res , `[{"value":"test"}]` )
103
+ }
104
+
105
+ func TestQueryJson (t * testing.T ) {
106
+ db := NewInMemoryDB ()
107
+
108
+ var values = []string {"test" }
109
+ frame := data .NewFrame ("foo" , data .NewField ("value" , nil , values ))
110
+ frame .RefID = "foo"
111
+ frames := []* data.Frame {frame }
112
+
113
+ _ , _ , err := db .QueryFrames ("foo" , "SELECT * FROM read_json('todos.json')" , frames )
114
+ assert .NotNil (t , err )
115
+ }
116
+
117
+ func TestValid (t * testing.T ) {
118
+ db := NewInMemoryDB ()
119
+
120
+ var values = []string {"test" }
121
+ frame := data .NewFrame ("foo" , data .NewField ("value" , nil , values ))
122
+ frame .RefID = "foo"
123
+ frames := []* data.Frame {frame }
124
+
125
+ query := fmt .Sprintf (".databases %s" , newline )
126
+ _ , _ , err := db .QueryFrames ("foo" , query , frames )
127
+ assert .NotNil (t , err )
128
+ }
129
+
130
+ func TestQueryFrameNoFileRead (t * testing.T ) {
131
+ db := NewInMemoryDB ()
132
+
133
+ var values = []string {"test" }
134
+ frame := data .NewFrame ("foo" , data .NewField ("value" , nil , values ))
135
+ frame .RefID = "foo"
136
+ frames := []* data.Frame {frame }
137
+
138
+ _ , _ , err := db .QueryFrames ("foo" , "SELECT * FROM read_csv('flights.csv')" , frames )
139
+ assert .NotNil (t , err )
140
+
141
+ _ , _ , err = db .QueryFrames ("foo" , "SELECT * FROM read_json('flights.json')" , frames )
142
+ assert .NotNil (t , err )
143
+
144
+ _ , _ , err = db .QueryFrames ("foo" , "SELECT * FROM 'test.parquet'" , frames )
145
+ assert .NotNil (t , err )
146
+
147
+ _ , _ , err = db .QueryFrames ("foo" , "COPY test FROM 'test.parquet'" , frames )
148
+ assert .NotNil (t , err )
149
+ }
150
+
77
151
func TestQueryFrameCache (t * testing.T ) {
78
152
opts := Opts {
79
153
CacheDuration : 5 ,
@@ -153,8 +227,7 @@ func TestQueryFrameIntoFrame(t *testing.T) {
153
227
154
228
frames := []* data.Frame {frame , frame2 }
155
229
156
- model := & data.Frame {}
157
- err := db .QueryFramesInto ("foo" , "select * from foo order by value desc" , frames , model )
230
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo order by value desc" , frames )
158
231
assert .Nil (t , err )
159
232
160
233
assert .Equal (t , 2 , model .Rows ())
@@ -178,8 +251,7 @@ func TestQueryFrameIntoFrameDocker(t *testing.T) {
178
251
179
252
frames := []* data.Frame {frame , frame2 }
180
253
181
- model := & data.Frame {}
182
- err := db .QueryFramesInto ("foo" , "select * from foo order by value desc" , frames , model )
254
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo order by value desc" , frames )
183
255
assert .Nil (t , err )
184
256
185
257
assert .Equal (t , 2 , model .Rows ())
@@ -203,8 +275,7 @@ func TestQueryFrameIntoFrameMultipleColumns(t *testing.T) {
203
275
204
276
frames := []* data.Frame {frame }
205
277
206
- model := & data.Frame {}
207
- err := db .QueryFramesInto ("B" , "select * from A" , frames , model )
278
+ model , err := db .QueryFramesToFrames ("B" , "select * from A" , frames )
208
279
assert .Nil (t , err )
209
280
210
281
assert .Equal (t , "Z State" , model .Fields [0 ].Name )
@@ -230,8 +301,7 @@ func TestMultiFrame(t *testing.T) {
230
301
231
302
frames := []* data.Frame {frame , frame2 }
232
303
233
- model := & data.Frame {}
234
- err := db .QueryFramesInto ("foo" , "select * from foo" , frames , model )
304
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo" , frames )
235
305
assert .Nil (t , err )
236
306
237
307
assert .Equal (t , 2 , model .Rows ())
@@ -257,8 +327,7 @@ func TestMultiFrame2(t *testing.T) {
257
327
258
328
frames := []* data.Frame {frame , frame2 }
259
329
260
- model := & data.Frame {}
261
- err := db .QueryFramesInto ("foo" , "select * from foo" , frames , model )
330
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo" , frames )
262
331
assert .Nil (t , err )
263
332
264
333
assert .Equal (t , 2 , model .Rows ())
@@ -281,8 +350,7 @@ func TestTimestamps(t *testing.T) {
281
350
282
351
frames := []* data.Frame {frame }
283
352
284
- model := & data.Frame {}
285
- err = db .QueryFramesInto ("foo" , "select * from foo" , frames , model )
353
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo" , frames )
286
354
assert .Nil (t , err )
287
355
288
356
assert .Equal (t , 1 , model .Rows ())
@@ -311,8 +379,7 @@ func TestTimeSeries(t *testing.T) {
311
379
312
380
frames := []* data.Frame {frame }
313
381
314
- model := & data.Frame {}
315
- err = db .QueryFramesInto ("foo" , "select * from foo" , frames , model )
382
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo" , frames )
316
383
assert .Nil (t , err )
317
384
318
385
assert .Equal (t , data .FrameTypeTimeSeriesWide , model .Meta .Type )
@@ -341,8 +408,7 @@ func TestTimeSeriesWide(t *testing.T) {
341
408
342
409
frames := []* data.Frame {frame }
343
410
344
- model := & data.Frame {}
345
- err = db .QueryFramesInto ("foo" , "select * from foo" , frames , model )
411
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo" , frames )
346
412
assert .Nil (t , err )
347
413
348
414
assert .Equal (t , data .FrameTypeTimeSeriesWide , model .Meta .Type )
@@ -377,8 +443,7 @@ func TestLabels(t *testing.T) {
377
443
378
444
frames := []* data.Frame {frame , frame2 }
379
445
380
- model := & data.Frame {}
381
- err := db .QueryFramesInto ("foo" , "select * from foo" , frames , model )
446
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo" , frames )
382
447
assert .Nil (t , err )
383
448
384
449
assert .Equal (t , 2 , model .Rows ())
@@ -427,8 +492,7 @@ func TestLabelsMultiFrame(t *testing.T) {
427
492
frames := []* data.Frame {frame , frame2 }
428
493
429
494
// TODO - ordering is broken!
430
- model := & data.Frame {}
431
- err = db .QueryFramesInto ("foo" , "select * from foo order by timestamp desc" , frames , model )
495
+ model , err := db .QueryFramesToFrames ("foo" , "select * from foo order by timestamp desc" , frames )
432
496
assert .Nil (t , err )
433
497
434
498
assert .Equal (t , 4 , model .Rows ())
@@ -459,8 +523,7 @@ func TestTimeSeriesAggregate(t *testing.T) {
459
523
460
524
frames := []* data.Frame {frame }
461
525
462
- model := & data.Frame {}
463
- err = db .QueryFramesInto ("foo" , "select CURRENT_TIMESTAMP, min(time) as t, 1 as j from foo group by category" , frames , model )
526
+ model , err := db .QueryFramesToFrames ("foo" , "select min(time) as t, 1 as j from foo group by category" , frames )
464
527
assert .Nil (t , err )
465
528
466
529
assert .Equal (t , data .FrameTypeTimeSeriesWide , model .Meta .Type )
0 commit comments