rewrite utc timestamp requests

This commit is contained in:
Matthew Bucci
2024-10-17 02:54:44 -07:00
parent d0eab624eb
commit a6765201ce
3 changed files with 31 additions and 1 deletions
+2
View File
@@ -11,6 +11,8 @@ class InsertSQLRewriter extends AbstractSQLRewriter
// Those are used when we need to set the date to now() in gmt time
$sql = str_replace("'0000-00-00 00:00:00'", 'now() AT TIME ZONE \'gmt\'', $sql);
$sql = str_replace("utc_timestamp()", "CURRENT_TIMESTAMP AT TIME ZONE 'UTC'", $sql);
// Multiple values group when calling INSERT INTO don't always work
if(false !== strpos($sql, $wpdb->options) && false !== strpos($sql, '), (')) {
$pattern = '/INSERT INTO.+VALUES/';
+2
View File
@@ -68,6 +68,8 @@ class SelectSQLRewriter extends AbstractSQLRewriter
// HANDLE REGEXP
$sql = preg_replace('/REGEXP/', '~', $sql);
$sql = str_replace("utc_timestamp()", "CURRENT_TIMESTAMP AT TIME ZONE 'UTC'", $sql);
// In order for users counting to work...
$matches = array();
if(preg_match_all('/COUNT[^C]+\),/', $sql, $matches)) {