From 1089a862fc8cd6fdd6bb2a5f88e1446d37912ace Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Wed, 27 Jan 2016 16:15:01 +0200 Subject: Fix #4401 --- system/database/DB_driver.php | 8 ++++---- user_guide_src/source/changelog.rst | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php index df0ce6a9b..bad641d17 100644 --- a/system/database/DB_driver.php +++ b/system/database/DB_driver.php @@ -1566,11 +1566,11 @@ abstract class CI_DB_driver { '\s*>\s*', // > '\s+IS NULL', // IS NULL '\s+IS NOT NULL', // IS NOT NULL - '\s+EXISTS\s*\([^\)]+\)', // EXISTS(sql) - '\s+NOT EXISTS\s*\([^\)]+\)', // NOT EXISTS(sql) + '\s+EXISTS\s*\(.*\)', // EXISTS(sql) + '\s+NOT EXISTS\s*\(.*\)', // NOT EXISTS(sql) '\s+BETWEEN\s+', // BETWEEN value AND value - '\s+IN\s*\([^\)]+\)', // IN(list) - '\s+NOT IN\s*\([^\)]+\)', // NOT IN (list) + '\s+IN\s*\(.*\)', // IN(list) + '\s+NOT IN\s*\(.*\)', // NOT IN (list) '\s+LIKE\s+\S.*('.$_les.')?', // LIKE 'expr'[ ESCAPE '%s'] '\s+NOT LIKE\s+\S.*('.$_les.')?' // NOT LIKE 'expr'[ ESCAPE '%s'] ); diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 1623341ea..8e76f1d01 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -14,6 +14,7 @@ Bug fixes for 3.0.5 - Fixed a bug (#4384) - :doc:`Pagination Library ` ignored (possible) *cur_page* configuration value. - Fixed a bug (#4395) - :doc:`Query Builder ` method ``count_all_results()`` still fails if an ``ORDER BY`` condition is used. - Fixed a bug (#4399) - :doc:`Query Builder ` methods ``insert_batch()``, ``update_batch()`` produced confusing error messages when called with no data and *db_debug* is enabled. +- Fixed a bug (#4401) - :doc:`Query Builder ` breaks ``WHERE`` and ``HAVING`` conditions that use ``IN()`` with strings containing a closing parenthesis. Version 3.0.4 ============= -- cgit v1.2.3-24-g4f1b