@@ -423,7 +423,7 @@ def create_table_sql(
423423 fk_cols = ", " .join (self .quote_identifier (col ) for col in fk ["columns" ])
424424 ref_cols = ", " .join (self .quote_identifier (col ) for col in fk ["ref_columns" ])
425425 lines .append (
426- f"FOREIGN KEY ({ fk_cols } ) REFERENCES { fk ['ref_table' ]} ({ ref_cols } ) " f" ON UPDATE CASCADE ON DELETE RESTRICT"
426+ f"FOREIGN KEY ({ fk_cols } ) REFERENCES { fk ['ref_table' ]} ({ ref_cols } ) ON UPDATE CASCADE ON DELETE RESTRICT"
427427 )
428428
429429 # Indexes
@@ -735,26 +735,7 @@ def parse_foreign_key_error(self, error_message: str) -> dict[str, str | list[st
735735 return result
736736
737737 def get_indexes_sql (self , schema_name : str , table_name : str ) -> str :
738- """Query to get index definitions.
739-
740- Note: For MySQL 8.0.13+, EXPRESSION column contains the expression for
741- functional indexes. COLUMN_NAME is NULL for such indexes.
742- On MySQL < 8.0.13 and MariaDB, the EXPRESSION column does not exist;
743- heading.py falls back to get_indexes_sql_fallback() in that case.
744- """
745- return (
746- f"SELECT INDEX_NAME as index_name, "
747- f"COALESCE(COLUMN_NAME, CONCAT('(', EXPRESSION, ')')) as column_name, "
748- f"NON_UNIQUE as non_unique, SEQ_IN_INDEX as seq_in_index "
749- f"FROM information_schema.statistics "
750- f"WHERE table_schema = { self .quote_string (schema_name )} "
751- f"AND table_name = { self .quote_string (table_name )} "
752- f"AND index_name != 'PRIMARY' "
753- f"ORDER BY index_name, seq_in_index"
754- )
755-
756- def get_indexes_sql_fallback (self , schema_name : str , table_name : str ) -> str :
757- """Fallback index query for MySQL < 8.0.13 and MariaDB (no EXPRESSION column)."""
738+ """Query to get index definitions. Functional indexes (NULL COLUMN_NAME) are skipped downstream."""
758739 return (
759740 f"SELECT INDEX_NAME as index_name, "
760741 f"COLUMN_NAME as column_name, "
0 commit comments