Commit Graph
177 Commits
Author SHA1 Message Date
Matthew Bucci 66d8a3df0e update sequence handling to support bigserial and serial types 2024-01-16 21:35:32 -08:00
Matthew Bucci ade3d6ad87 handle case with keys across multiple columns with defined lengths 2024-01-11 01:28:43 -08:00
Matthew Bucci 8f1f65db47 handle tables with fixed key lengths 2024-01-11 01:10:57 -08:00
mattbucci a90ab01a9b handle table charsets 2024-01-08 05:08:57 +00:00
mattbucci 53125aec2d Add support for keys with multiple values 2024-01-08 05:00:42 +00:00
mattbucci 5f27c893b3 Remove Default character set 2024-01-08 04:22:59 +00:00
mattbucci aca566b8bf pgrewrite should not remove IF NOT EXISTS 2024-01-08 04:13:06 +00:00
mattbucci 200dfaa0b2 Add space before replacements to avoid any issues with similar types 2024-01-08 04:08:35 +00:00
mattbucci 30f5bee84b Merge remote-tracking branch 'origin/v3' into mb-fix-auto-increment 2024-01-08 01:14:46 +00:00
mattbucci 94259e408b style fixes 2024-01-07 23:07:50 +00:00
laotoutou 1b08e302c0 bugfix: $dbname is not used in driver_pgsql.php 2023-12-31 13:32:41 +08:00
Matthew Bucci f3a71be3f0 handle unique keys 2023-11-26 15:17:26 -08:00
Matthew Bucci fd2467c00b switch to serial numeric types 2023-11-26 15:07:33 -08:00
Matthew Bucci cbd3d83918 postgres does support primary keys in the mysql format, we don't need to rewrite 2023-11-26 01:42:21 -08:00
Matthew Bucci 91f1612d10 add tests for table creation 2023-11-26 01:34:10 -08:00
Matthew Bucci 3d164e15a6 remove the field function because it's already accounted for in the rewriter 2023-11-10 11:24:49 -08:00
Matthew Bucci 2485f31cdc Change connections to pass by reference to better emulate the mysqli driver 2023-11-10 11:11:04 -08:00
Matthew Bucci 54b4ffb4df add connect error handling 2023-11-09 23:01:26 -08:00
Matthew Bucci 31ce063e06 ignore multi query as part of flush 2023-11-09 22:51:55 -08:00
Matthew Bucci 1f3692d4f9 implement pg_ping 2023-11-09 21:28:21 -08:00
Matthew Bucci 259a58b144 remove nonexistant PG_query mode 2023-11-09 21:24:38 -08:00
Matthew Bucci 20f0d7b9e9 driver fixes 2023-11-09 20:19:02 -08:00
Matthew Bucci eb3a4c1711 port over what exists from the old pgsql driver 2023-11-09 19:53:49 -08:00
Matthew Bucci 50db9c8fd8 rewrite mysql driver implementation to replace mysqli instead of mysql 2023-11-09 09:34:33 -08:00
Matthew Bucci e3f3682bc0 update wordpress dependency files for WP 6.4.1 2023-11-08 22:48:27 -08:00
Matthew Bucci a810cfb7da cleanup AlterTableSQLRewriter 2023-11-07 15:50:52 -08:00
Matthew Bucci ed00779cf5 add connection to pg_last_error call 2023-11-07 15:32:19 -08:00
Matthew Bucci dad1f0d264 formatting 2023-11-07 15:29:37 -08:00
Matthew Bucci c60d8f90b1 Migrate install rewriting to new rewriters 2023-11-07 15:26:03 -08:00
Matthew Bucci 3754ae32e4 Change plugin info 2023-10-30 22:15:04 -07:00
Matthew Bucci fa6222bdee correct regex for insert matching 2023-10-30 21:02:50 -07:00
Matthew Bucci 63f3f092ba ensure we don't pass null to trim during ensureGroupByOrAggregate 2023-10-30 15:20:15 -07:00
Matthew Bucci ec9079d9c9 don't split on ',' if within a function 2023-10-30 14:24:27 -07:00
Matthew Bucci 9fda15b2da correct DB_DRIVER define 2023-10-30 09:27:19 -07:00
Matthew Bucci 83002198b1 Polymorphic refactor + improvements to select sql rewriting 2023-10-28 02:56:41 -07:00
Matthew Bucci a45338251e Merge branch 'postgres15-compatibility' into mb-php8-wp6-support 2023-10-28 02:54:37 -07:00
Matthew Bucci 0e692fd263 Merge branch 'php8-compatiblity' into mb-php8-wp6-support 2023-10-28 02:54:19 -07:00
Matthew Bucci 8816e1dcaa replace incorrect constant 2023-10-28 02:50:05 -07:00
Matthew Bucci 1bde430f0d PHP 8 compatibility fixes 2023-10-28 02:43:59 -07:00
Matthew Bucci aef2e89812 patches for postgres 15 compatibility, various warnings fixes and more 2023-10-28 02:27:14 -07:00
ycz f2a05dddbe fix meta_value compares bug 2019-07-23 21:19:40 +00:00
Alexander Schlarb 0607337f6b Also check in the WordPress base directory for the PG4WP files 2018-03-17 14:43:04 +01:00
Kevin Locke 06884bd732 Move pg4wp_rewrite_field out of pg4wp_rewrite
To fix "Cannot redeclare pg4wp_rewrite_field"

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-09-24 15:41:21 -06:00
Kevin Locke 54042c1bcc Convert MySQL RAND() to PostgreSQL RANDOM()
These functions are compatible, with the exception that MySQL RAND()
optionally takes a seed argument.  If future queries require seed
support, a call to PostgreSQL SETSEED() can be added.

Fixes: #12

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-09-24 14:18:25 -06:00
Kevin Locke f896bb1759 Rewrite MySQL FIELD function to CASE statement
PostgreSQL does not provide an equivalent to the MySQL FIELD function.
It is possible to create such a function, although the syntax is
version-dependent (and creates a persistent database object, which so
far has not been done by this plugin).  So use a generic CASE statement.

Fixes: #12

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-09-24 14:07:40 -06:00
Kevin Locke 35e0af4252 Convert HAVING without GROUP BY to WHERE
Fixes #9

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-04-14 12:54:14 -06:00
Kevin Locke 6587b4085b Create MySQL-compatible field function on connect
Fixes: #8

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-04-08 16:20:58 -06:00
Kevin Locke 1d2666ca1d Remove unnecessary isset() before empty()
Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-04-08 16:20:39 -06:00
Kevin Locke 7c4d76a0b6 Fix connection failure handling
If the connection fails, bail early.  Otherwise the processing of the
queued SQL statements will cause an infinite loop by continually pushing
the same statement into the queue due to lack of connection.

Also add a local variable for the connection for clarity and
performance.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-04-08 13:33:13 -06:00
Kevin Locke 68d8ead5ad Partially revert 650f768
Although calling wpsql_select_db from wpsql_connect did set the
connection globally, it also caused early clearing of the connection
string when WP_INSTALLING is defined and ran queued early SQL commands
before select is called by external code (which was dubious).  Revert
it, but keep using the best guess at the database name, since this often
saves a connection.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2016-08-22 18:21:10 -06:00