PluginProbe
SQLite Database Integration / trunk
SQLite Database Integration vtrunk
3.0.2 3.0.1 trunk 2.1.13 2.1.14 2.1.15 2.1.16 2.2.0 2.2.1 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.17 2.2.18 2.2.19 2.2.2 2.2.20 2.2.21 2.2.22 2.2.23 2.2.3 All 32 releases
← All changes | wp-includes/database/load.php +29 -6 2.2.21trunk View file →
@@ -1,10 +1,14 @@
1 1 <?php
2 2
3 +if ( defined( 'WP_MYSQL_ON_SQLITE_LOADER_PATH' ) ) {
4 + return;
5 +}
6 +
3 7 define( 'WP_MYSQL_ON_SQLITE_LOADER_PATH', __FILE__ );
4 8
5 9 /**
6 - * Load the PDO MySQL-on-SQLite driver and its dependencies.
10 + * Load the MySQL on SQLite driver and its dependencies.
7 11 */
8 12 require_once __DIR__ . '/php-polyfills.php';
9 13 require_once __DIR__ . '/version.php';
10 14 require_once __DIR__ . '/parser/class-wp-parser-grammar.php';
@@ -11,16 +15,35 @@
11 15 require_once __DIR__ . '/parser/class-wp-parser.php';
12 16 require_once __DIR__ . '/parser/class-wp-parser-node.php';
13 17 require_once __DIR__ . '/parser/class-wp-parser-token.php';
14 18 require_once __DIR__ . '/mysql/class-wp-mysql-token.php';
15 -require_once __DIR__ . '/mysql/class-wp-mysql-lexer.php';
16 -require_once __DIR__ . '/mysql/class-wp-mysql-parser.php';
19 +
20 +/*
21 + * The MySQL lexer and parser have an optional native (e.g. Rust) implementation.
22 + * When the native extension is loaded, it pre-declares WP_MySQL_Native_Lexer /
23 + * WP_MySQL_Native_Parser; otherwise we fall back to the pure-PHP classes shipped
24 + * here. WP_MySQL_Lexer / WP_MySQL_Parser is the public entrypoint either way.
25 + */
26 +if ( class_exists( 'WP_MySQL_Native_Lexer', false ) ) {
27 + require_once __DIR__ . '/mysql/native/class-wp-mysql-lexer.php';
28 +} else {
29 + require_once __DIR__ . '/mysql/class-wp-mysql-lexer.php';
30 +}
31 +
32 +if ( class_exists( 'WP_MySQL_Native_Parser', false ) ) {
33 + require_once __DIR__ . '/mysql/native/mysql-rust-bridge.php';
34 + require_once __DIR__ . '/mysql/native/class-wp-mysql-native-parser-node.php';
35 + require_once __DIR__ . '/mysql/native/trait-wp-mysql-native-parser-impl.php';
36 + require_once __DIR__ . '/mysql/native/class-wp-mysql-parser.php';
37 +} else {
38 + require_once __DIR__ . '/mysql/class-wp-mysql-parser.php';
39 +}
17 40 require_once __DIR__ . '/sqlite/class-wp-sqlite-connection.php';
18 41 require_once __DIR__ . '/sqlite/class-wp-sqlite-configurator.php';
19 42 require_once __DIR__ . '/sqlite/class-wp-sqlite-driver.php';
20 -require_once __DIR__ . '/sqlite/class-wp-sqlite-driver-exception.php';
43 +require_once __DIR__ . '/sqlite/class-wp-mysql-on-sqlite-exception.php';
21 44 require_once __DIR__ . '/sqlite/class-wp-sqlite-information-schema-builder.php';
22 45 require_once __DIR__ . '/sqlite/class-wp-sqlite-information-schema-exception.php';
23 46 require_once __DIR__ . '/sqlite/class-wp-sqlite-information-schema-reconstructor.php';
24 47 require_once __DIR__ . '/sqlite/class-wp-sqlite-pdo-user-defined-functions.php';
25 -require_once __DIR__ . '/sqlite/class-wp-pdo-mysql-on-sqlite.php';
26 -require_once __DIR__ . '/sqlite/class-wp-pdo-proxy-statement.php';
48 +require_once __DIR__ . '/sqlite/class-wp-mysql-on-sqlite.php';
49 +require_once __DIR__ . '/sqlite/class-wp-mysql-on-sqlite-statement.php';