Commit Graph

113 Commits

Author SHA1 Message Date
Sean Harvey
846f31b31c Merge pull request #26 from torleif/patch-1
FIX postgres can filter on non text fields
2014-09-24 18:06:06 +12:00
Damian Mooyman
010ce575ed BUG Fix issues in master 2014-07-18 13:06:58 +12:00
Damian Mooyman
abe3843012 API Upgraded module to use new database ORM 2014-07-11 09:13:52 +12:00
torleif
7626d74bee FIX postgres can filter on non text fields
This issue causes the comparison to fail if comparing a non text fields (for example, a date or integer). This will cause the CMS to fail in places such as Gridfield selector. 

Similar fix as this one: https://github.com/silverstripe/silverstripe-framework/pull/2242 The difference being comparisonClause(...) being more apt solution in SS 3.1
2014-04-08 13:24:05 +12:00
Sam Minnee
863ead3255 FIX: Fix fatal bugs in previous commit. 2014-02-14 15:27:36 +13:00
Sam Minnee
f967c20383 FIX: PostgreSQLDatabase::selectDatabase() should switch to the database if it exists.
Previous implementation of PostgreSQLDatabase::selectDatabase() just updated internal
registers, and expected connectDatabase() or similar to be called.  This is out of line
with MySQLDatabase's behaviour, and frankly a bit stupid.  FullTextSearch's test system
expected different behaviour from selectDatabase() and so this is needed to fix that.

Since it's making PostgreSQLDatabase match the behaviour of MySQLDatabase, I don't consider
it an API change.
2014-02-14 13:49:11 +13:00
Simon Welsh
b8771b79da Better error handling and support passwords with spaces in them 2013-12-20 14:34:31 +13:00
Sean Harvey
65702e4a6b Merge pull request #22 from stojg/unittest-speed-improvements
NEW: Improve the unittest running time by not truncating tables
2013-06-06 16:40:49 -07:00
Stig Lindqvist
082adb4fd6 NEW: Improve the unittest running time by not truncating tables
When clearing tables this will delete all rows instead of truncating it.

Benchmarking this change by running the full cms and framework test suit changed improved the running time from 32 minutes to 9 minutes.

If truncate functionality is needed for any special cases it should be run as

    DB::query("TRUNCATE \"TableToTruncate\"");
2013-06-06 13:43:31 +12:00
Stig Lindqvist
201e5b7b8b BUG: Infinite loop on failed connect to a postgresql server
When a postgres db server is down or credentials are wrone, the adapter still tries to check for a existing database and loops back into trying to connect again.
2013-02-27 11:17:11 +13:00
Ingo Schommer
cd7b761bed BUG Faulty query escape in tableList()
This caused tables starting with "sql" to be excluded from
the tableList() results, where only "sql_" should be filtered.
An unescaped underscore in ANSI SQL pattern matching stands
for "any single character", the escape needed to be doubled
to account for PHP's own escape expanding.

This broke SQLQueryTest since the test data wasn't reset
between test runs.
2012-12-11 15:09:10 +01:00
Ingo Schommer
fc7a21b567 BUG Support for case sensitive searches
Through newly added Database->comparisonClause() API
2012-12-11 01:47:47 +01:00
Damian Mooyman
9b623a2b2b BUG Unescaped underscore in query unintentionally hid any table beginning with 'SQL' or 'PG' 2012-11-16 14:42:49 +13:00
Damian Mooyman
ef4cd20cfa FIXED: Minor typo in string concatenation 2012-09-24 12:46:23 +12:00
Sam Minnee
3fe7671442 FIX: Conditional revert of 06f80d3347 as the original code is necessary in some configurations.
Now we have the magic of an if block to guide us.
2012-09-19 17:28:17 +12:00
Sam Minnee
06f80d3347 FIX: Fix the apparently obsolete code for extracting search index columns from the trigger meta-data. 2012-09-18 13:19:22 +12:00
Sam Minnee
54821bde2d FIX: Fixed PostgreSQLDatabase::indexList() / PostgresSQLDatabase::requireIndex() so that it doesn't need to infer the ORM-name for the index in order to determine the schema update. 2012-09-18 13:19:19 +12:00
Sam Minnee
8cd7cc5127 Removed unnecessary exec bit. 2012-09-18 12:49:21 +12:00
Damian Mooyman
37199fc08c FIXED: Incorrect paging on full text search results 2012-09-17 16:51:20 +12:00
Damian Mooyman
3291147c8e FIXED: Issue with correct extraction of index names from the database. The root cause of this issue was the way that columns from indxes were retrieved. It was assumed that the column names formed the index name, which isn't necessarily true (E.g. when the index is named "SearchFields"). The behaviour of the module was updated to create case-sensitive index and trigger names, which could then be used to later tell Silverstripe which indexes existed in the database. These could be compared to the SiteTree::$indexes property in a case-sensitive fashion to determine which indexes needed to be created / updated. This update fixes a lot of the unnecessary/broken DDL operations that occurred. 2012-09-17 16:15:00 +12:00
Damian Mooyman
dc7334087c FIXED: Improved parsing of index strings to support more index formats (array, string, variable index types in either form, etc).
UPDATED: Syntax to conform (better) to SS coding convention
UPDATED: Refactor, cleanup, and simplification of alterTable to reduce duplication of effort. Use of index parsing mechanism to pre-prepare indexe specifications for generation.
UPDATED: Better naming of variables (For instance, $indexName instead of $k)
BUG: Index generation is still not working properly. To investigate.
2012-09-17 11:13:41 +12:00
Sam Minnee
8cd458b818 BUGFIX: Make indexList() return double-quotes in index names to prevent unnecessary recreation of the indexes. 2012-08-21 16:22:17 +12:00
Sam Minnee
f74e9c260e BUGFIX: Fix support for \ characters in table names. 2012-08-21 16:21:45 +12:00
Saophalkun Ponlu
fe85c32d5b BUG: BUG Fix PostgreSQL error when creating a table for namespaced data object
This issue is caused by the presence of backslash characters (PHP namespace delimiter) in entity names.
2012-07-18 19:32:49 +12:00
Saophalkun Ponlu
0ffaf3d055 Revert "BUG Fix PostgreSQL error when creating a table for namespaced data object."
This reverts commit eeaa32a148.
2012-07-18 19:19:29 +12:00
Saophalkun Ponlu
eeaa32a148 BUG Fix PostgreSQL error when creating a table for namespaced data object.
This issue is caused by the presence of backslash characters (PHP namespace delimiter) in entity names
2012-07-18 14:36:08 +12:00
Ingo Schommer
bb07e6cfd5 Added supportsTimezoneOverride() method 2012-07-06 11:35:33 +02:00
Kirk Mayo
501c158f7f #BUGFIX: Ticket 7533 fixed a bug which I found whilst testing this and amended the README.md 2012-06-28 15:42:49 +02:00
Sean Harvey
29512e54b7 BUGFIX Fixing check for array when building indexes 2012-06-12 14:41:44 +12:00
Sean Harvey
200dcf3121 BUGFIX Fixing index building failing on array check when the index is a string. 2012-06-12 13:55:49 +12:00
Sean Harvey
1fd2088c96 BUGFIX Fixing PostgreSQLDatabase::searchEngine to work with SS3 2012-05-08 15:33:18 +12:00
Sean Harvey
8152ddce8c ENHANCEMENT Use simplier query syntax for SS3 ORM 2012-05-04 09:56:52 +12:00
Sean Harvey
6e30463e3e BUGFIX Fixing PostgreSQL support in SS 3.x, removing sqlQueryToString() since SQLQuery does the work of fixing selects instead. 2012-05-01 12:05:15 +12:00
Robert Curry
43ac0a4641 BUGFIX: Fixes #7123. Sets timezone of database if specified. 2012-04-16 11:49:35 +12:00
Sean Harvey
b9e63145b4 Merge pull request #2 from mrmorphic/master
Operator precedence error means query execution times are meaningless. This corrects them.
2012-02-10 19:02:29 -08:00
Sean Harvey
7a3024d046 BUGFIX Fixed support for fulltext search in PostgreSQLDatabase::searchEngine() by supporting DataList/PaginatedList/ArrayList when these classes are available 2012-02-11 15:58:04 +13:00
Mark Stephens
b08cf4b4ba BUGFIX: report query times correctly 2011-11-03 20:55:02 +13:00
Ingo Schommer
8bbf8401f9 MINOR Fixed edge case around 2011-09-15 18:01:02 +02:00
Ingo Schommer
5e058a151d ENHANCEMENT Optionally filtering by new File.ShowInSearch flag in PostgreSQLDatabase->searcnEngine() 2011-09-15 16:01:53 +02:00
Ingo Schommer
74abdec18b BUGFIX Allow omitting FROM clause in sqlQueryToString() 2011-05-19 11:35:56 +12:00
Ingo Schommer
2b0ffdb4e0 API CHANGE Renamed transactions methods from endTransaction() to transactionEnd(), startTransaction() to transactionStart() to comply with new sapphire trunk API 2011-03-11 16:43:27 +13:00
Ingo Schommer
7fb82f88d1 BUGFIX Renamed clear_cached_fieldlist() to clearCachedFieldlist() to comply with parent implementation and our coding conventions (fixes 360176d2) 2011-03-11 14:25:10 +13:00
Geoff Munn
2d3ebfb310 MINOR: transaction function renamed for consistency 2011-02-11 14:24:39 +13:00
cbarberis
ae5160d4b3 BUGFIX: Fixed function name 2011-02-01 17:04:19 +13:00
Geoff Munn
cd9071c679 MINOR: cached fieldlists disabled to see if this fixes the buildbot issues 2011-01-18 17:31:47 +13:00
Geoff Munn
717f40af9e MINOR: cached fieldlist array can now be cleared 2011-01-12 00:10:38 +00:00
Geoff Munn
2bd6e9fb8e MINOR: transaction functions renamed for consistency, field list lookups now cached for speed improvements 2011-01-11 21:17:17 +00:00
Ingo Schommer
99f2cb179e BUGFIX Checking for existence of constraint specs to avoid PHP notice errors on schema updates in PotgreSQLDatabase->alterTableAlterColumn() (regression from r113928) 2010-12-05 04:59:43 +00:00
Geoff Munn
d5915cd7d1 MINOR: reverted the showqueries fix 2010-12-03 02:42:18 +00:00
Geoff Munn
667eac707f ENHANCEMENT: orderMoreSpecifically results are now cached for performance improvements 2010-12-02 22:33:25 +00:00