createMemStore creates a memStoreImpl instance for testing.
(tableName string, shardID int, columnTypes []memCom.DataType, primaryKeyColumns []int, batchSize int, isFactTable bool, allowMissingEventTime bool, metaStore metaCom.MetaStore, diskStore diskstore.DiskStore)
| 37 | |
| 38 | // createMemStore creates a memStoreImpl instance for testing. |
| 39 | func createMemStore(tableName string, shardID int, columnTypes []memCom.DataType, |
| 40 | primaryKeyColumns []int, batchSize int, isFactTable bool, allowMissingEventTime bool, |
| 41 | metaStore metaCom.MetaStore, diskStore diskstore.DiskStore) *memStoreImpl { |
| 42 | // Create schemas. |
| 43 | mainSchema := metaCom.Table{ |
| 44 | Name: tableName, |
| 45 | Columns: make([]metaCom.Column, len(columnTypes)), |
| 46 | PrimaryKeyColumns: primaryKeyColumns, |
| 47 | Config: metaCom.TableConfig{ |
| 48 | BatchSize: batchSize, |
| 49 | BackfillMaxBufferSize: 1 << 32, |
| 50 | BackfillThresholdInBytes: 1 << 21, |
| 51 | AllowMissingEventTime: allowMissingEventTime, |
| 52 | }, |
| 53 | IsFactTable: isFactTable, |
| 54 | } |
| 55 | for i, dataType := range columnTypes { |
| 56 | mainSchema.Columns[i].Type = memCom.DataTypeName[dataType] |
| 57 | } |
| 58 | schema := memCom.NewTableSchema(&mainSchema) |
| 59 | |
| 60 | for i := range columnTypes { |
| 61 | schema.SetDefaultValue(i) |
| 62 | } |
| 63 | |
| 64 | redoManagerMaster, _ := redolog.NewRedoLogManagerMaster("", &common.RedoLogConfig{}, diskStore, metaStore) |
| 65 | bootstrapToken := new(memComMocks.BootStrapToken) |
| 66 | bootstrapToken.On("AcquireToken", mock.Anything, mock.Anything).Return(true) |
| 67 | bootstrapToken.On("ReleaseToken", mock.Anything, mock.Anything).Return() |
| 68 | |
| 69 | options := NewOptions(bootstrapToken, redoManagerMaster) |
| 70 | memStore := NewMemStore(metaStore, diskStore, options).(*memStoreImpl) |
| 71 | // Create shards. |
| 72 | shards := map[int]*TableShard{ |
| 73 | shardID: NewTableShard(schema, metaStore, diskStore, NewHostMemoryManager(memStore, 1<<32), shardID, options), |
| 74 | } |
| 75 | memStore.TableShards[tableName] = shards |
| 76 | memStore.TableSchemas[tableName] = schema |
| 77 | |
| 78 | return memStore |
| 79 | } |
| 80 | |
| 81 | // ReadShardValue reads a value from a shard at given position. |
| 82 | func ReadShardValue(shard *TableShard, columnID int, primaryKey []byte) (unsafe.Pointer, bool) { |
no test coverage detected