readysettech / readyset

Readyset is a MySQL and Postgres wire-compatible caching layer that sits in front of existing databases to speed up queries and horizontally scale read throughput. Under the hood, ReadySet caches the results of cached select statements and incrementally updates these results over time as the underlying data changes.
https://readyset.io
Other
4.54k stars 126 forks source link

Fail to parse MySQL DATA DIRECTORY argument of DDL #1374

Closed altmannmarcelo closed 2 months ago

altmannmarcelo commented 2 months ago

Description

Readyset fails to parse create table if DATA DIRECTORY is set:

# Start MySQL with --innodb_directories=/Users/marcelo/Work/mysql/ins/datadir2/
mysql> create table tb(id int) data directory = '/Users/marcelo/Work/mysql/ins/datadir2/';

Snapshot / Replication fails with:

2024-09-20T19:07:24.096682Z  WARN taking database snapshot: replicators::mysql_connector::snapshot: Error extending CREATE TABLE "db2"."tb3", table will not be used error=Query failed to parse: DATA DIRECTORY='/Users/marcelo/Work/mysql/ins/datadir2/'

Change in user-visible behavior

Requires documentation change