Skip to content

Commit

Permalink
Fix collation issues with schemacopy table.
Browse files Browse the repository at this point in the history
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
  • Loading branch information
arthurschreiber committed May 7, 2024
1 parent 610bdaf commit cfb8e60
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions go/mysql/schema.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ const (
DetectSchemaChange = `
SELECT DISTINCT table_name
FROM (
SELECT table_name, column_name, ordinal_position, character_set_name, collation_name, data_type, column_key
SELECT table_name COLLATE utf8mb3_bin AS table_name, column_name COLLATE utf8mb3_general_ci AS column_name, ordinal_position, character_set_name COLLATE utf8mb3_general_ci AS character_set_name, collation_name COLLATE utf8mb3_general_ci AS collation_name, data_type COLLATE utf8mb3_bin AS data_type, column_key COLLATE utf8mb3_bin AS column_key
FROM information_schema.columns
WHERE table_schema = database()
UNION ALL
SELECT table_name, column_name, ordinal_position, character_set_name, collation_name, data_type, column_key
SELECT table_name COLLATE utf8mb3_bin AS table_name, column_name COLLATE utf8mb3_general_ci AS column_name, ordinal_position, character_set_name COLLATE utf8mb3_general_ci AS character_set_name, collation_name COLLATE utf8mb3_general_ci AS collation_name, data_type COLLATE utf8mb3_bin AS data_type, column_key COLLATE utf8mb3_bin AS column_key
FROM %s.schemacopy
WHERE table_schema = database()
) _inner
Expand Down
16 changes: 8 additions & 8 deletions go/vt/sidecardb/schema/schematracker/schemacopy.sql
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ limitations under the License.

CREATE TABLE IF NOT EXISTS schemacopy
(
`table_schema` varchar(64) NOT NULL,
`table_name` varchar(64) NOT NULL,
`column_name` varchar(64) NOT NULL,
`ordinal_position` bigint unsigned NOT NULL,
`character_set_name` varchar(32) DEFAULT NULL,
`collation_name` varchar(32) DEFAULT NULL,
`data_type` varchar(64) NOT NULL,
`column_key` varchar(3) NOT NULL,
`table_schema` varchar(64) COLLATE utf8_bin NOT NULL,
`table_name` varchar(64) COLLATE utf8_bin NOT NULL,
`column_name` varchar(64) COLLATE utf8_general_ci NOT NULL,
`ordinal_position` bigint unsigned NOT NULL,
`character_set_name` varchar(32) COLLATE utf8_general_ci DEFAULT NULL,
`collation_name` varchar(32) COLLATE utf8_general_ci DEFAULT NULL,
`data_type` varchar(64) COLLATE utf8_bin NOT NULL,
`column_key` varchar(3) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`table_schema`, `table_name`, `ordinal_position`)
) ENGINE = InnoDB

0 comments on commit cfb8e60

Please sign in to comment.