Commit Graph

125 Commits

Author SHA1 Message Date
Daniel Hensby
ee356b1ad7
[SS-2017-008] Fix SQL injection in search engine 2017-11-21 15:34:59 +00:00
Daniel Hensby
1c953025e6
Merge branch '1.1' into 1.2 2017-07-26 12:15:02 +01:00
Daniel Hensby
1a78f20b8a
Merge branch '1.0' into 1.1 2017-07-26 11:52:50 +01:00
Daniel Hensby
4b3fd28b3b
Backport of #48 2017-07-26 11:48:27 +01:00
Daniel Hensby
606879243a Merge pull request #33 from PapaBearNZ/search-engine-patch-1.1
FIX Total Items count on Search
2015-06-14 20:47:12 +01:00
devimust
9a2dc1adc8 FIX allow for spaces in enum field-type default values 2015-05-02 11:09:54 +00:00
Damian Mooyman
48c07ad1ab Use parseIndexSpec to cleanup fulltext specification 2014-10-15 10:32:44 +13:00
Sean Harvey
fba93bba72 Merge pull request #34 from micmania1/fix-handle-fulltext-string-declerations
FIX handling of fulltext indexes declared as strings
2014-10-15 09:50:51 +13:00
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
micmania1
d112ca5d12 FIX handling of fulltext indexes declared as strings 2014-08-16 10:16:20 +00:00
James Pluck
b148e2457c FIX Total Items count on Search
This issue causes pagination to fail for search results on sites
using the postgres db.

Patch corrects the TotalItems in the returned List to show all items
matching the search criteria rather than just the items returned in
the current 'page' requested.
2014-08-01 15:33:58 +12:00
torleif
eac309696d FIX postgres filter on non text fields - on branch 1.1
See 7626d74bee
2014-07-25 21:25:54 +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
Ingo Schommer
8673583f13 Fixed syntax error in searchengine() 2012-11-28 22:48:27 +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