Skip to content

Commit 0ea728e

Browse files
committed
fix: adapt ms adapter to TableRow interface + add Meilisearch CI service
- Use TableRow interface methods (GetName, GetType, IsPrimaryKey) in maintenance.go - Use db.TableRowItem{} in test struct literals (ms_test.go, vector_test.go) - Add Meilisearch v1.12 service container to CI workflow
1 parent 704f9f5 commit 0ea728e

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

db/ms/maintenance.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ func (d *msDatabase) CreateTable(tableName string, tableDefinition *db.TableDefi
8585
// Determine primary key from table definition
8686
var primaryKey string
8787
for _, row := range tableDefinition.TableRows {
88-
if row.PrimaryKey {
89-
primaryKey = row.Name
88+
if row.IsPrimaryKey() {
89+
primaryKey = row.GetName()
9090
break
9191
}
9292
}
@@ -123,30 +123,30 @@ func (d *msDatabase) CreateTable(tableName string, tableDefinition *db.TableDefi
123123

124124
for _, row := range tableDefinition.TableRows {
125125
// Vector columns are configured as embedders, not filterable/sortable
126-
switch row.Type {
126+
switch row.GetType() {
127127
case db.DataTypeVector3Float32:
128-
embedders[row.Name] = meilisearch.Embedder{
128+
embedders[row.GetName()] = meilisearch.Embedder{
129129
Source: meilisearch.UserProvidedEmbedderSource,
130130
Dimensions: 3,
131131
}
132132
continue
133133
case db.DataTypeVector768Float32:
134-
embedders[row.Name] = meilisearch.Embedder{
134+
embedders[row.GetName()] = meilisearch.Embedder{
135135
Source: meilisearch.UserProvidedEmbedderSource,
136136
Dimensions: 768,
137137
}
138138
continue
139139
}
140140

141141
// All non-vector columns are made filterable for benchmark flexibility
142-
filterableAttrs = append(filterableAttrs, interface{}(row.Name))
142+
filterableAttrs = append(filterableAttrs, interface{}(row.GetName()))
143143

144144
// Numeric and datetime types are sortable (including primary key)
145-
switch row.Type {
145+
switch row.GetType() {
146146
case db.DataTypeId, db.DataTypeInt, db.DataTypeBigInt, db.DataTypeBigIntAutoInc,
147147
db.DataTypeSmallInt, db.DataTypeTinyInt, db.DataTypeDateTime, db.DataTypeDateTime6,
148148
db.DataTypeTimestamp, db.DataTypeTimestamp6:
149-
sortableAttrs = append(sortableAttrs, row.Name)
149+
sortableAttrs = append(sortableAttrs, row.GetName())
150150
}
151151
}
152152

db/ms/ms_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ func (l *testLogger) Log(format string, args ...interface{}) {
3737
func testTableDefinition() *db.TableDefinition {
3838
return &db.TableDefinition{
3939
TableRows: []db.TableRow{
40-
{Name: "id", Type: db.DataTypeId, PrimaryKey: true, Indexed: true},
41-
{Name: "uuid", Type: db.DataTypeUUID, Indexed: true},
42-
{Name: "type", Type: db.DataTypeVarChar, Indexed: true},
43-
{Name: "policy_name", Type: db.DataTypeVarChar, Indexed: true},
44-
{Name: "resource_name", Type: db.DataTypeVarChar, Indexed: true},
45-
{Name: "score", Type: db.DataTypeInt, Indexed: true},
40+
db.TableRowItem{Name: "id", Type: db.DataTypeId, PrimaryKey: true, Indexed: true},
41+
db.TableRowItem{Name: "uuid", Type: db.DataTypeUUID, Indexed: true},
42+
db.TableRowItem{Name: "type", Type: db.DataTypeVarChar, Indexed: true},
43+
db.TableRowItem{Name: "policy_name", Type: db.DataTypeVarChar, Indexed: true},
44+
db.TableRowItem{Name: "resource_name", Type: db.DataTypeVarChar, Indexed: true},
45+
db.TableRowItem{Name: "score", Type: db.DataTypeInt, Indexed: true},
4646
},
4747
}
4848
}

db/ms/vector_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ import (
1414
func testVectorTableDefinition() *db.TableDefinition {
1515
return &db.TableDefinition{
1616
TableRows: []db.TableRow{
17-
{Name: "id", Type: db.DataTypeInt, PrimaryKey: true, Indexed: true},
18-
{Name: "embedding", Type: db.DataTypeVector3Float32, Indexed: true},
19-
{Name: "text", Type: db.DataTypeVarChar, Indexed: true},
17+
db.TableRowItem{Name: "id", Type: db.DataTypeInt, PrimaryKey: true, Indexed: true},
18+
db.TableRowItem{Name: "embedding", Type: db.DataTypeVector3Float32, Indexed: true},
19+
db.TableRowItem{Name: "text", Type: db.DataTypeVarChar, Indexed: true},
2020
},
2121
}
2222
}

0 commit comments

Comments
 (0)