Bumped GMS for Sakila compatibility

This commit is contained in:
Daylon Wilkins
2023-08-01 04:08:14 -07:00
parent 46110861f1
commit b12f5874ed
6 changed files with 55 additions and 39 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ require (
github.com/cespare/xxhash v1.1.0
github.com/creasty/defaults v1.6.0
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2
github.com/dolthub/go-mysql-server v0.16.1-0.20230728172236-623d669ca320
github.com/dolthub/go-mysql-server v0.16.1-0.20230801110053-12b176a3b487
github.com/dolthub/swiss v0.1.0
github.com/goccy/go-json v0.10.2
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
+2 -2
View File
@@ -180,8 +180,8 @@ github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U=
github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0=
github.com/dolthub/go-icu-regex v0.0.0-20230524105445-af7e7991c97e h1:kPsT4a47cw1+y/N5SSCkma7FhAPw7KeGmD6c9PBZW9Y=
github.com/dolthub/go-icu-regex v0.0.0-20230524105445-af7e7991c97e/go.mod h1:KPUcpx070QOfJK1gNe0zx4pA5sicIK1GMikIGLKC168=
github.com/dolthub/go-mysql-server v0.16.1-0.20230728172236-623d669ca320 h1:125yZgAbBPKl9fyMZ5WU4+LsVx6ofjFUFWosz8YDRUc=
github.com/dolthub/go-mysql-server v0.16.1-0.20230728172236-623d669ca320/go.mod h1:griaEnTRvvP/VCxvNmCidpKuDu5T8z8D17fiqwAFh60=
github.com/dolthub/go-mysql-server v0.16.1-0.20230801110053-12b176a3b487 h1:mKW8UD8eG8QRAnYorcq2lgM4scPSSZbFYJ7Jzd9lXe0=
github.com/dolthub/go-mysql-server v0.16.1-0.20230801110053-12b176a3b487/go.mod h1:griaEnTRvvP/VCxvNmCidpKuDu5T8z8D17fiqwAFh60=
github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514=
github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488/go.mod h1:ehexgi1mPxRTk0Mok/pADALuHbvATulTh6gzr7NzZto=
github.com/dolthub/jsonpath v0.0.2-0.20230525180605-8dc13778fd72 h1:NfWmngMi1CYUWU4Ix8wM+USEhjc+mhPlT9JUR/anvbQ=
+21 -6
View File
@@ -884,13 +884,28 @@ func (db Database) CreateIndexedTable(ctx *sql.Context, tableName string, sch sq
}
// CreateFulltextTableNames returns a set of names that will be used to create Full-Text pseudo-index tables.
func (db Database) CreateFulltextTableNames(ctx *sql.Context, parentTable string, parentIndexName string) (fulltext.IndexTableNames, error) {
func (db Database) CreateFulltextTableNames(ctx *sql.Context, parentTableName string, parentIndexName string) (fulltext.IndexTableNames, error) {
allTableNames, err := db.GetAllTableNames(ctx)
if err != nil {
return fulltext.IndexTableNames{}, err
}
var tablePrefix string
OuterLoop:
for i := uint64(0); true; i++ {
tablePrefix = strings.ToLower(fmt.Sprintf("dolt_%s_%s_%d", parentTableName, parentIndexName, i))
for _, tableName := range allTableNames {
if strings.HasPrefix(strings.ToLower(tableName), tablePrefix) {
continue OuterLoop
}
}
break
}
return fulltext.IndexTableNames{
Config: fmt.Sprintf("dolt_%s_fts_config", parentTable),
Position: fmt.Sprintf("dolt_%s_%s_fts_position", parentTable, parentIndexName),
DocCount: fmt.Sprintf("dolt_%s_%s_fts_doc_count", parentTable, parentIndexName),
GlobalCount: fmt.Sprintf("dolt_%s_%s_fts_global_count", parentTable, parentIndexName),
RowCount: fmt.Sprintf("dolt_%s_%s_fts_row_count", parentTable, parentIndexName),
Config: fmt.Sprintf("dolt_%s_fts_config", parentTableName),
Position: fmt.Sprintf("%s_fts_position", tablePrefix),
DocCount: fmt.Sprintf("%s_fts_doc_count", tablePrefix),
GlobalCount: fmt.Sprintf("%s_fts_global_count", tablePrefix),
RowCount: fmt.Sprintf("%s_fts_row_count", tablePrefix),
}, nil
}
@@ -36,7 +36,8 @@ func GenerateCreateTableIndentedColumnDefinition(col schema.Column) string {
// GenerateCreateTableIndexDefinition returns index definition for CREATE TABLE statement with indentation of 2 spaces
func GenerateCreateTableIndexDefinition(index schema.Index) string {
return sql.GenerateCreateTableIndexDefinition(index.IsUnique(), index.IsSpatial(), index.Name(), sql.QuoteIdentifiers(index.ColumnNames()), index.Comment())
return sql.GenerateCreateTableIndexDefinition(index.IsUnique(), index.IsSpatial(), index.IsFullText(), index.Name(),
sql.QuoteIdentifiers(index.ColumnNames()), index.Comment())
}
// GenerateCreateTableForeignKeyDefinition returns foreign key definition for CREATE TABLE statement with indentation of 2 spaces
+26 -26
View File
@@ -24,7 +24,7 @@ teardown() {
dolt sql -q "CREATE TABLE test (pk BIGINT UNSIGNED PRIMARY KEY, v1 VARCHAR(200), v2 VARCHAR(200), FULLTEXT idx (v1, v2));"
dolt sql -q "INSERT INTO test VALUES (1, 'abc', 'def pqr'), (2, 'ghi', 'jkl'), (3, 'mno', 'mno'), (4, 'stu vwx', 'xyz zyx yzx'), (5, 'ghs', 'mno shg');"
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[[ "$output" =~ "| word | global_count |" ]] || false
[[ "$output" =~ "| abc | 1 |" ]] || false
[[ "$output" =~ "| def | 1 |" ]] || false
@@ -55,7 +55,7 @@ teardown() {
dolt checkout main
dolt merge other
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[[ "$output" =~ "| word | global_count |" ]] || false
[[ "$output" =~ "| abc | 1 |" ]] || false
[[ "$output" =~ "| bot | 1 |" ]] || false
@@ -79,29 +79,29 @@ teardown() {
dolt sql -q "INSERT INTO test VALUES (1, 'abc');"
run dolt sql -q "SELECT * FROM dolt_test_fts_config;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_position;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_position;"
[[ "$output" =~ "| word | C0 | position |" ]] || false
[[ "$output" =~ "| abc | 1 | 0 |" ]] || false
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_doc_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_doc_count;"
[[ "$output" =~ "| word | C0 | doc_count |" ]] || false
[[ "$output" =~ "| abc | 1 | 1 |" ]] || false
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[[ "$output" =~ "| word | global_count |" ]] || false
[[ "$output" =~ "| abc | 1 |" ]] || false
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_row_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_row_count;"
[[ "$output" =~ "| row_hash | row_count | unique_words |" ]] || false
[[ "$output" =~ "| c38b3e71346a4847af87d87153e01eae2d83d905df14cc09ec1ac30516ec44ed | 1 | 1 |" ]] || false
dolt sql -q "DROP INDEX idx ON test;"
run dolt sql -q "SELECT * FROM dolt_test_fts_config;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_position;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_position;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_doc_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_doc_count;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_row_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_row_count;"
[ "$status" -eq 1 ]
}
@@ -121,13 +121,13 @@ teardown() {
dolt merge other
run dolt sql -q "SELECT * FROM dolt_test_fts_config;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_position;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_position;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_doc_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_doc_count;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_row_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_row_count;"
[ "$status" -eq 1 ]
}
@@ -153,13 +153,13 @@ teardown() {
dolt merge other
run dolt sql -q "SELECT * FROM dolt_test_fts_config;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_position;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_position;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_doc_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_doc_count;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[ "$status" -eq 1 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_row_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_row_count;"
[ "$status" -eq 1 ]
}
@@ -181,13 +181,13 @@ teardown() {
dolt merge other
run dolt sql -q "SELECT * FROM dolt_test_fts_config;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_position;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_position;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_doc_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_doc_count;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_row_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_row_count;"
[ "$status" -eq 0 ]
}
@@ -213,12 +213,12 @@ teardown() {
dolt merge other
run dolt sql -q "SELECT * FROM dolt_test_fts_config;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_position;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_position;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_doc_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_doc_count;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_global_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_global_count;"
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM dolt_test_idx_fts_row_count;"
run dolt sql -q "SELECT * FROM dolt_test_idx_0_fts_row_count;"
[ "$status" -eq 0 ]
}
@@ -84,7 +84,7 @@ CREATE TABLE `address` (
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`address_id`),
KEY `idx_fk_city_id` (`city_id`),
/* UNSUPPORTED SYNTAX (https://github.com/dolthub/dolt/issues/3204): SPATIAL KEY `idx_location` (`location`), */
SPATIAL KEY `idx_location` (`location`),
CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -433,8 +433,8 @@ CREATE TABLE `film_text` (
`film_id` smallint NOT NULL,
`title` varchar(255) NOT NULL,
`description` text,
PRIMARY KEY (`film_id`)/*, UNSUPPORTED SYNTAX (https://github.com/dolthub/dolt/issues/2987):
FULLTEXT KEY `idx_title_description` (`title`,`description`)*/
PRIMARY KEY (`film_id`),
FULLTEXT KEY `idx_title_description` (`title`,`description`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;