diff --git a/pg4wp/driver_pgsql.php b/pg4wp/driver_pgsql.php index 8db9a5a..91012f6 100644 --- a/pg4wp/driver_pgsql.php +++ b/pg4wp/driver_pgsql.php @@ -120,10 +120,11 @@ { $catchnumrows = true; $sql = str_replace('GROUP BY '.$table_prefix.'posts.ID', '' , $sql); - $sql = str_replace('SQL_CALC_FOUND_ROWS', 'DISTINCT', $sql); - $GLOBALS['pg4wp_numrows'] = preg_replace( '/SELECT DISTINCT.+FROM ('.$table_prefix.'posts)/', 'SELECT DISTINCT "ID" FROM $1', $sql); + $GLOBALS['pg4wp_numrows'] = str_replace( 'SQL_CALC_FOUND_ROWS', 'DISTINCT', $sql); + $GLOBALS['pg4wp_numrows'] = preg_replace( '/SELECT DISTINCT.+FROM ('.$table_prefix.'posts)/', 'SELECT DISTINCT "ID" FROM $1', $GLOBALS['pg4wp_numrows']); $GLOBALS['pg4wp_numrows'] = preg_replace( '/SELECT(.+)FROM/', 'SELECT COUNT($1) FROM', $GLOBALS['pg4wp_numrows']); $GLOBALS['pg4wp_numrows'] = preg_replace( '/(ORDER BY|LIMIT).+/', '', $GLOBALS['pg4wp_numrows']); + $sql = str_replace('SQL_CALC_FOUND_ROWS', '', $sql); } elseif( false !== strpos($sql, 'FOUND_ROWS()')) {