From f2a05dddbeec902ec5a095b1e0698accf89d832d Mon Sep 17 00:00:00 2001 From: ycz Date: Tue, 23 Jul 2019 17:16:03 +0800 Subject: [PATCH] fix meta_value compares bug --- pg4wp/driver_pgsql.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pg4wp/driver_pgsql.php b/pg4wp/driver_pgsql.php index 43b67db..151035b 100644 --- a/pg4wp/driver_pgsql.php +++ b/pg4wp/driver_pgsql.php @@ -534,6 +534,10 @@ // WP 2.9.1 uses a comparison where text data is not quoted $pattern = '/AND meta_value = (-?\d+)/'; $sql = preg_replace( $pattern, 'AND meta_value = \'$1\'', $sql); + + // Add type cast for meta_value field when it's compared to number + $pattern = '/AND meta_value < (\d+)/'; + $sql = preg_replace($pattern, 'AND meta_value::bigint < $1', $sql); // Generic "INTERVAL xx YEAR|MONTH|DAY|HOUR|MINUTE|SECOND" handler $pattern = '/INTERVAL[ ]+(\d+)[ ]+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)/';