Commit Graph

170 Commits

Author SHA1 Message Date
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
Stephen Shkardoon
0c7362bbc5 Update PostgreSQLDatabaseConfigurationHelper.php
In prepration for https://github.com/silverstripe/sapphire/pull/1319
Probably should accept this at the same time.

If someone knows of the relevant ALTER permissions in Postgres, feel free to implment.
2013-03-24 03:03:59 +13: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
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
Geoff Munn
4d3cfcd58e ENHANCEMENT: language support in tsearch parameters, schema support now included 2010-11-25 03:45:32 +00:00
Geoff Munn
e2edf8dc16 MINOR: data types now identify themselves more clearly, to prevent needless rebuilds in dev/build 2010-11-18 23:22:07 +00:00
Geoff Munn
a27ca9a55a BUGFIX: constraint row violations errors now fixed. Missing enums are converted to something from the provided list 2010-11-18 23:10:38 +00:00
Geoff Munn
551fbb6e6c ENHANCEMENT: indexing improved, altered tables now pick up full text search columns, data type detection and identification improved, constraint queries now cached 2010-11-11 19:13:52 +00:00
Sean Harvey
88a8cef187 BUGFIX PostgreSQLDatabase::searchEngine() should use "Relevance" instead of the same name without the quotes (this was changed in SearchForm r113295) 2010-11-04 20:38:52 +00:00
Geoff Munn
07e7579f4f MINOR: time and float data types now supported. Index information now returned correctly and won't trigger index rebuilds 2010-11-01 01:34:29 +00:00
Geoff Munn
f3e29be23c ENHANCEMENT: constraint queries are now cached 2010-11-01 01:11:31 +00:00
Geoff Munn
a59e02efee BUGFIX: resolves ticket 6078 - enums now removed. Also, indexes now default to btree. 2010-11-01 00:53:57 +00:00
Sean Harvey
f125bc22b1 BUGFIX Renamed PostgreSQLQuery::destroy() renamed to destruct() so that it is called properly after the object is destroyed 2010-10-14 05:29:28 +00:00
Sean Harvey
29f85e64cc ENHANCEMENT PostgreSQLDatabase::getVersion() uses pg_version() to get the server version number, which is more reliable than parsing a version string 2010-10-13 22:30:52 +00:00
Sean Harvey
3b3258d3ae BUGFIX Check index exists when issuing the DROP INDEX query in PostgreSQLDatabase::alterTable() 2010-09-17 00:44:11 +00:00
Will Rossiter
c6e0714c62 ENHANCEMENT: added option to disable checking of database existence before querying it. Needs to be disabled to allow it to work under multi user environments 2010-08-12 23:08:35 +00:00
Geoff Munn
8032985b1a BUGFIX: search requests via ts_query now accept some boolean-formatted requests 2010-08-03 04:18:51 +00:00
Ingo Schommer
7ee6640051 BUGFIX Don't require a 'name' assignment in index definitions for PostgreSQLDatabase->alterTable() - was breaking Versioned extension 2010-06-04 01:36:35 +00:00
Sam Minnee
a536ee1821 ENHANCEMENT: implemented missing hasTable method that returns if a given table exists in the postgres database. 2010-06-03 05:02:11 +00:00
Geoff Munn
0c8580f3d7 BUGFIX: syntax error fixed 2010-05-28 02:39:52 +00:00
Geoff Munn
3d0c31763a MINOR: error message clarification 2010-05-27 20:39:22 +00:00
Sean Harvey
133e6ff6ec ENHANCEMENT Added PostgreSQLDatabaseConfigurationHelper::getDatabaseVersion() 2010-05-26 05:14:05 +00:00
Sean Harvey
2c38c37bb2 BUGFIX Fixed border case where pg_version() could return false and break functionality in PostgreSQLDatabaseConfigurationHelper::requireDatabaseVersion() 2010-05-15 04:06:15 +00:00
Sean Harvey
5f17db6599 ENHANCEMENT Added PostgreSQLDatabaseConfigurationHelper::requireDatabaseVersion() for checking the database version is at least 8.3 during installation 2010-05-15 04:03:25 +00:00
Geoff Munn
113d75f825 API CHANGE: dev/tests/cleanupdb functionality now supported 2010-04-30 04:26:53 +00:00
Geoff Munn
2190c09c49 API CHANGE: dev/tests/cleanupdb functionality now supported 2010-04-30 04:18:46 +00:00
Luke Hudson
310638dc9f BUGFIX: Bring createTable in to line with base class 2010-04-29 03:56:53 +00:00
Sam Minnee
9e8cc03243 API CHANGE: Added getParameters() to PostgreSQLDatabase
API CHANGE: Added 'port' parameter to PostgreSQLDatabase
2010-04-13 04:42:36 +00:00
Mark Stephens
b59ce20a97 BUGFIX: searchEngine throws exception without _new_ keyword 2010-03-31 00:27:28 +00:00
Mark Stephens
e5dfd2b080 BUGFIX: remove mysql codegen of multi-enums from postgres, and emit an error, and return a valid data type so that sapphire unit tests fail but don't crash 2010-03-30 03:06:35 +00:00
Ingo Schommer
77b972bfb5 BUGFIX Using dbname=postgres in PostgreSQLDatabaseConfigurationHelper to enable configuration checks with users other than 'postgres' (that might not have a database with their username) 2010-03-26 02:32:04 +00:00
Geoff Munn
b12b5f0e31 BUGFIX: Rename SQL fixed 2010-03-21 23:02:54 +00:00
Geoff Munn
991aaba95d BUGFIX: indexes are now tested for existance before creation 2010-03-18 03:16:30 +00:00
Sean Harvey
1aa8f6b765 BUGFIX Fixed wrong parameter order in PostgreSQLDatabaseConfigurationHelper 2010-03-09 00:25:42 +00:00
Sean Harvey
e33bd117d4 MINOR Added ability to create databases through installer checks for PostgreSQL 2010-03-08 22:33:50 +00:00
Geoff Munn
11d16b3c7f API CHANGE: database creation now supported, dbDataType function now included 2010-03-08 21:58:28 +00:00
Geoff Munn
77a76c28c5 BUGFIX: Postgres now checks for a constraint before trying to delete it 2010-02-17 20:19:22 +00:00
Sean Harvey
bcd163ff06 ENHANCEMENT Fixes to PostgreSQLDatabaseConfigurationHelper to support the installer changes in r99001 2010-02-15 05:37:17 +00:00
Sean Harvey
459d1ffe60 MINOR Reverted r98779 2010-02-12 03:28:04 +00:00
Sean Harvey
d6b425cd6f MINOR Fixed missing connection required for testing credentials 2010-02-11 11:54:54 +00:00
Sean Harvey
ad3a3083a9 MINOR changed package name of file to be proper one 2010-02-11 11:04:53 +00:00
Sean Harvey
e2ec1fca0e MINOR Removed return of connection which is not used any longer 2010-02-11 10:08:42 +00:00
Sean Harvey
10a59a9a8d MINOR Renamed variables and keys to conincide with r98795 2010-02-11 10:00:13 +00:00
Sean Harvey
48635c5167 FEATURE Added PostgreSQLDatabaseConfigurationHelper which is related to the installer 2010-02-11 07:38:51 +00:00
Sean Harvey
b36f2a2ae2 ENHANCEMENT PostgreSQLDatabase now automatically creates the database if it doesn't exist, previously you had to manually create one before it can be used 2010-02-11 04:40:07 +00:00
Andreas Piening
d124ad8a5a MINOR: fixing the precision and casting behaviour of datetime helpers 2010-02-04 21:30:10 +00:00
Andreas Piening
6a2fe2d48b ENHANCEMENT: added datetime helper functions, support for double, helper function for qualifying order terms 2010-02-04 04:29:37 +00:00
Geoff Munn
7ea01e108e BUG FIX: actual available classes of a page now returned 2009-11-26 21:19:18 +00:00
Geoff Munn
7516f0bad5 API CHANGE: returned field types no longer trigger dev/build changes 2009-11-24 23:53:38 +00:00
Geoff Munn
ec8997bdf8 API CHANGE: plpgsql now created if triggers are required, full text search columns and other indexes now inherited by partitioned tables 2009-11-24 22:46:55 +00:00
Geoff Munn
08a348654c API CHANGE: Better handling of CLUSTER BY statements 2009-11-02 01:58:51 +00:00
Sam Minnee
1dd46ab8a6 BUGFIX: Updated postgresql module for the 2.4 class renaming. 2009-11-01 21:59:54 +00:00
Geoff Munn
dee6be2506 API CHANGE: support for table partitions, tablespaces and index clustering 2009-10-08 01:19:15 +00:00
Geoff Munn
508da2b933 API CHANGE: searchengine function fixed to use extendedSQL() 2009-10-05 20:26:41 +00:00
Geoff Munn
5a96d9620c BUG FIX: searchEngine() now takes into account the locality
API CHANGE: Integer replaces Numeric for the Int() type, and it defaults to 32 in precision
2009-10-05 02:03:00 +00:00
Geoff Munn
74954dc374 BUGFIX: empty limit arrays filtered out 2009-10-02 02:35:32 +00:00
Geoff Munn
f6a5fa8925 API CHANGE: Transactions now supported. 2009-10-01 21:01:23 +00:00
Geoff Munn
88ac09848b BUG FIX: debug data removed 2009-09-30 20:45:12 +00:00
Geoff Munn
b0b0383229 BUG FIX: Offset/Limit arrays now handled properly 2009-09-30 20:44:28 +00:00