diff --git a/packages/mysql-on-sqlite/src/load.php b/packages/mysql-on-sqlite/src/load.php index 6e1d2d8f..c3ecf4c2 100644 --- a/packages/mysql-on-sqlite/src/load.php +++ b/packages/mysql-on-sqlite/src/load.php @@ -26,6 +26,7 @@ } if ( class_exists( 'WP_MySQL_Native_Parser', false ) ) { + require_once __DIR__ . '/mysql/native/mysql-rust-bridge.php'; require_once __DIR__ . '/mysql/native/class-wp-mysql-parser.php'; } else { require_once __DIR__ . '/mysql/class-wp-mysql-parser.php'; diff --git a/packages/mysql-on-sqlite/src/mysql/native/mysql-rust-bridge.php b/packages/mysql-on-sqlite/src/mysql/native/mysql-rust-bridge.php new file mode 100644 index 00000000..974cfa66 --- /dev/null +++ b/packages/mysql-on-sqlite/src/mysql/native/mysql-rust-bridge.php @@ -0,0 +1,22 @@ + + */ +function wp_sqlite_mysql_native_export_grammar( WP_Parser_Grammar $grammar ): array { + return array( + 'highest_terminal_id' => $grammar->highest_terminal_id, + 'rules' => $grammar->rules, + 'lookahead_is_match_possible' => $grammar->lookahead_is_match_possible, + 'rule_names' => $grammar->rule_names, + 'fragment_ids' => $grammar->fragment_ids, + ); +}