@@ -173,12 +173,6 @@ func TestHybridStoreReaderFunctions(t *testing.T) {
173
173
reader .schema = schema
174
174
err = reader .initQueryCtx ()
175
175
assert2 .Equal (t , err , nil )
176
- _ , err = reader .initAttachedFileReader (executor .NewDetachedFrags ("" , 0 ))
177
- assert2 .Equal (t , strings .Contains (err .Error (), "invalid index info for attached file reader" ), true )
178
- _ , err = reader .initDetachedFileReader (executor .NewAttachedFrags ("" , 0 ))
179
- assert2 .Equal (t , strings .Contains (err .Error (), "invalid index info for detached file reader" ), true )
180
- _ , err = reader .initFileReader (& executor.DetachedFrags {BaseFrags : * executor .NewBaseFrags ("" , 3 )})
181
- assert2 .Equal (t , strings .Contains (err .Error (), "invalid file reader" ), true )
182
176
frag := executor .NewBaseFrags ("" , 3 )
183
177
assert2 .Equal (t , 72 , frag .Size ())
184
178
err = reader .initSchema ()
@@ -244,27 +238,45 @@ func TestHybridStoreReaderFunctionsForFullText(t *testing.T) {
244
238
reader .schema = schema
245
239
err = reader .initQueryCtx ()
246
240
assert2 .Equal (t , err , nil )
247
- _ , err = reader .initAttachedFileReader (executor .NewDetachedFrags ("" , 0 ))
248
- assert2 .Equal (t , strings .Contains (err .Error (), "invalid index info for attached file reader" ), true )
249
- _ , err = reader .initDetachedFileReader (executor .NewAttachedFrags ("" , 0 ))
250
- assert2 .Equal (t , strings .Contains (err .Error (), "invalid index info for detached file reader" ), true )
251
- _ , err = reader .initFileReader (& executor.DetachedFrags {BaseFrags : * executor .NewBaseFrags ("" , 3 )})
252
- assert2 .Equal (t , strings .Contains (err .Error (), "invalid file reader" ), true )
253
241
frag := executor .NewBaseFrags ("" , 3 )
254
242
assert2 .Equal (t , 72 , frag .Size ())
255
243
err = reader .initSchema ()
256
244
assert2 .Equal (t , err , nil )
257
245
}
258
246
259
247
func TestHybridIndexReaderFunctions (t * testing.T ) {
260
- indexReader := NewDetachedIndexReader (NewIndexContext (true , 8 , createSortQuerySchema (), "" ), & obs.ObsOptions {})
261
- err := indexReader .Init ()
248
+ unnest := & influxql.Unnest {
249
+ Expr : & influxql.Call {
250
+ Name : "match_all" ,
251
+ Args : []influxql.Expr {
252
+ & influxql.VarRef {Val : "([a-z]+),([0-9]+)" , Type : influxql .String },
253
+ & influxql.VarRef {Val : "field1" , Type : influxql .String },
254
+ },
255
+ },
256
+ Aliases : []string {"key1" , "value1" },
257
+ DstType : []influxql.DataType {influxql .String , influxql .String },
258
+ }
259
+ schema := createSortQuerySchema ()
260
+ schema .SetUnnests ([]* influxql.Unnest {unnest })
261
+ readCtx := immutable .NewFileReaderContext (util.TimeRange {}, nil , immutable .NewReadContext (true ), nil , nil , true )
262
+ indexReader := NewDetachedIndexReader (NewIndexContext (true , 8 , schema , "" ), & obs.ObsOptions {}, readCtx )
263
+ _ , _ , err := indexReader .CreateCursors ()
264
+ assert2 .Equal (t , strings .Contains (err .Error (), "endpoint is not set" ), true )
265
+ _ , err = indexReader .initFileReader (executor .NewDetachedFrags ("" , 0 ))
266
+ assert2 .Equal (t , strings .Contains (err .Error (), "endpoint is not set" ), true )
267
+
268
+ indexReader = NewDetachedIndexReader (NewIndexContext (true , 8 , createSortQuerySchema (), "" ), & obs.ObsOptions {}, nil )
269
+ err = indexReader .Init ()
262
270
assert2 .Equal (t , strings .Contains (err .Error (), "endpoint is not set" ), true )
263
271
_ , err = indexReader .Next ()
264
272
assert2 .Equal (t , strings .Contains (err .Error (), "endpoint is not set" ), true )
265
- indexReader1 := NewAttachedIndexReader (NewIndexContext (true , 8 , createSortQuerySchema (), "" ), & executor.AttachedIndexInfo {})
273
+ indexReader1 := NewAttachedIndexReader (NewIndexContext (true , 8 , createSortQuerySchema (), "" ), & executor.AttachedIndexInfo {}, nil )
266
274
_ , err = indexReader1 .Next ()
267
275
assert2 .Equal (t , err , nil )
276
+
277
+ indexReader1 = NewAttachedIndexReader (NewIndexContext (true , 8 , createSortQuerySchema (), "" ), & executor.AttachedIndexInfo {}, nil )
278
+ _ , err = indexReader1 .initFileReader (executor .NewDetachedFrags ("" , 0 ))
279
+ assert2 .Equal (t , strings .Contains (err .Error (), "invalid index info for attached file reader" ), true )
268
280
db , rp , mst , ptId := "db0" , "rp0" , "mst" , uint32 (0 )
269
281
testDir := t .TempDir ()
270
282
defer func () {
@@ -287,7 +299,7 @@ func TestHybridIndexReaderFunctions(t *testing.T) {
287
299
_ , err = sh .GetIndexInfo (querySchema )
288
300
assert2 .Equal (t , err , nil )
289
301
immutable .SetDetachedFlushEnabled (true )
290
- indexReader = NewDetachedIndexReader (NewIndexContext (false , 0 , querySchema , "" ), & obs.ObsOptions {})
302
+ indexReader = NewDetachedIndexReader (NewIndexContext (false , 0 , querySchema , "" ), & obs.ObsOptions {}, nil )
291
303
err = indexReader .Init ()
292
304
assert2 .Equal (t , strings .Contains (err .Error (), "endpoint is not set" ), true )
293
305
immutable .SetDetachedFlushEnabled (false )
@@ -625,7 +637,7 @@ func TestHybridStoreReaderForInc(t *testing.T) {
625
637
schema := executor .NewQuerySchema (fields2 , names , & opt , nil )
626
638
schema .AddTable (m , schema .MakeRefs ())
627
639
for {
628
- indexReader := NewDetachedIndexReader (NewIndexContext (true , 8 , schema , sh .filesPath ), nil )
640
+ indexReader := NewDetachedIndexReader (NewIndexContext (true , 8 , schema , sh .filesPath ), nil , nil )
629
641
schema .Options ().(* query.ProcessorOptions ).IterID += 1
630
642
indexReader .Init ()
631
643
frag , err := indexReader .Next ()
@@ -639,7 +651,7 @@ func TestHybridStoreReaderForInc(t *testing.T) {
639
651
}
640
652
opt .EndTime = 0
641
653
schema = executor .NewQuerySchema (fields2 , names , & opt , nil )
642
- indexReader := NewDetachedIndexReader (NewIndexContext (true , 8 , schema , sh .filesPath ), nil )
654
+ indexReader := NewDetachedIndexReader (NewIndexContext (true , 8 , schema , sh .filesPath ), nil , nil )
643
655
schema .Options ().(* query.ProcessorOptions ).IterID += 1
644
656
indexReader .Init ()
645
657
_ , ok := immutable .GetDetachedSegmentTask (sh .filesPath + queryID )
0 commit comments