Commit Graph

252 Commits

Author SHA1 Message Date
Sean Harvey
14cf1d243c ENHANCEMENT Performance improvements to MSSQLDatabase, mostly involves per-request caching of constraint check clauses since it's such an expensive query. Getting constraint names has been split out into a separate method, as it's a relatively cheap query to make without caching 2010-10-14 21:11:20 +00:00
Sean Harvey
ae1494c313 BUGFIX Renamed MSSQLQuery::destroy() renamed to destruct() so that it is called properly after the object is destroyed 2010-10-14 05:03:01 +00:00
Sean Harvey
35d04ac387 MINOR Tidied up comments, added is_resource() check on MSSQLQuery::seek() to be consistent with the other methods 2010-10-05 00:55:16 +00:00
Sean Harvey
d2082107b5 API CHANGE Re-enabled transaction support in MSSQLDatabase transaction methods. TransactionTest appears to pass on sqlsrv and mssql now 2010-10-02 03:36:04 +00:00
Sean Harvey
e8ba221024 MINOR Reverted r111461, as it's not specific to SQL Server, but a framework level issue. FulltextSearchable decorator should be used instead to decorate existing SiteTree for example 2010-10-02 01:59:20 +00:00
Geoff Munn
159dc13659 ENHANCEMENT: FTS now supports external tables to be specified as part of the value 2010-09-30 23:58:21 +00:00
Sean Harvey
ba4f843819 BUGFIX MSSQLDatabase::formattedDatetimeClause() should account for the timezone when returning a UNIX timestamp 2010-09-29 10:10:51 +00:00
Sean Harvey
083517d02b MINOR Tidy up of code in MSSQLDatabase::__construct() 2010-09-29 04:30:05 +00:00
Sean Harvey
75b1933ca3 BUGFIX #6042 Use single quotes for MSSQLDatabase::$noiseWords as some PHP versions/settings might have trouble with this (thanks mattclegg!) 2010-09-28 19:44:08 +00:00
Mateusz Uzdowski
27b44a3722 BUGFIX: numRecords not supported on sqlsrv, need to count manually 2010-09-01 04:49:07 +00:00
Mateusz Uzdowski
2b5f25455f BUGFIX: limit the query results for pagination 2010-09-01 04:06:36 +00:00
Mateusz Uzdowski
2aff1a9196 ENHANCEMENT: check for empty clause which will break the sql query 2010-08-31 22:19:58 +00:00
Mateusz Uzdowski
bef5b0ed05 BUGFIX: fix TranslatableSearchFormText by supporting fulltext search for MSSQL and using extendedSQL function call that augments queries properly (previously it was using DB::query which does not augment). Added wait to TranslatableSearchFormText so the test actually passes. 2010-08-31 05:52:48 +00:00
Mateusz Uzdowski
da356e5a01 BUGFIX: repair the transactions for sqlsrv driver on Windows. They are still not fully supported, so mark the driver as not supporting transactions. 2010-08-31 03:18:00 +00:00
Mateusz Uzdowski
d066f99d5e BUGFIX: re-enabling MARS, framework assumes it can run DB::query without fetching the results, which leaves the result set open and prohibits executing another query in the mean time 2010-08-30 21:51:09 +00:00
Sean Harvey
1cab98c219 MINOR Updated class documentation for MSSQLDatabase 2010-08-30 05:47:57 +00:00
Sean Harvey
81de1e073f BUGFIX When MSSQL_USE_WINDOWS_AUTHENTICATION is enabled, ensure the connection parameters include CharacterSet, MultipleActiveResultSets as "UTF-U" and boolean false respectively 2010-08-30 05:29:21 +00:00
Mateusz Uzdowski
410d15cf08 BUGFIX: disable MARS, we don't need it/don't support it 2010-08-30 04:18:29 +00:00
Mateusz Uzdowski
94355edcd2 BUGFIX: busy wait for indexing to complete before continuing with the test, so we can be sure the FTS returns up to date results 2010-08-26 20:54:40 +00:00
Mateusz Uzdowski
2745036563 BUGFIX: adjust the full-text search for mssql by stripping out non-alphabetic characters which are ignored by mssql anyway (and some of them crash the search engine) 2010-08-25 23:21:06 +00:00
Mateusz Uzdowski
0b28428a16 BUGFIX: the search for "quoted string" would fail. Changed to ANSI compliant quotes and prevented double-quoting. 2010-08-25 20:44:51 +00:00
Sean Harvey
27c3997061 BUGFIX Fixed fulltext not being dropped before re-adding it in MSSQLDatabase::getIndexSqlDefinition() 2010-07-18 23:14:51 +00:00
Sean Harvey
c44f5ca9ed MINOR Code syntax formatting 2010-07-13 05:46:33 +00:00
Sean Harvey
f211d2cea8 BUGFIX Fixed dev/build always showing changes in nvarchar fields because of a stray whitespace in the spec value 2010-07-13 05:07:40 +00:00
Andreas Piening
77f453c036 ENHANCEMENT: added transaction support 2010-06-24 05:37:45 +00:00
Sean Harvey
1e22a12cd6 BUGFIX MSSQLDatabase::__construct() should use "UTF-8" as a CharacterSet parameter to sqlsrv_connect(), not "utf8" as it's not recognised by that API 2010-06-03 12:06:26 +00:00
Sean Harvey
7c7e81ac70 MINOR Removed stray $error variable that isn't necessary in MSSQLDatabase::query() 2010-06-03 12:05:12 +00:00
Sean Harvey
13f90299cc MINOR Better error debugging message when sqlsrv_errors() is used on MSSQLDatabase::query() on a failed query 2010-06-03 12:03:27 +00:00
Sam Minnee
78d47d312f BUGFIX: Fixed index creation in MSSQL. 2010-06-03 00:58:33 +00:00
Sam Minnee
53156eb94e BUGFIX: Fixed MSSQLDatabase::hasTable() 2010-06-03 00:58:32 +00:00
Sam Minnee
9a1ee37cbd BUGFIX: Prevent dev/build errors with fulltext indexes on MSSQL. 2010-06-03 00:58:32 +00:00
Sam Minnee
feebe26208 API CHANGE: Added MSSQLDatabase::set_collation() to let you set the collation for the nvarchar fields. 2010-06-03 00:58:31 +00:00
Sam Minnee
07ea9353e1 ENHANCEMENT: Switch MSSQL to use the utf8 character set for the connection. 2010-06-03 00:58:31 +00:00
Sean Harvey
8e28fc70f6 MINOR Updated class doc 2010-05-27 23:05:32 +00:00
Sean Harvey
b6b9e00803 MINOR Class doc 2010-05-27 22:25:45 +00:00
Sean Harvey
028e54c306 MINOR Updated MSSQLDatabase class docs 2010-05-26 10:05:21 +00:00
Sean Harvey
b4851c5c1c MINOR Removed MSSQLDatabase::runTableCheckCommand() which is not used 2010-05-26 09:58:40 +00:00
Sean Harvey
b484b14be5 ENHANCEMENT Added MSSQLDatabase::getVersion() to determine the current version of MSSQL in use 2010-05-26 05:24:15 +00:00
Sean Harvey
5ad91ce0ed ENHANCEMENT Added MSSQLDatabaseConfigurationHelper::getDatabaseVersion() 2010-05-26 05:11:14 +00:00
Sean Harvey
a0768ec44d MINOR Re-added in function_exists() for sqlsrv_num_rows() for backwards compatability with sqlsrv 1.0, added a warning that it'll only work on cursors other than forward only 2010-05-19 12:13:33 +00:00
Sean Harvey
888dc64c0a BUGFIX MSSQLDatabase::searchEngine() no longer relies on MSSQLQuery::numRecords() which doesn't always work properly anyway, instead it counts if the record can be viewed and was pushed into the result DataObjectSet 2010-05-19 12:11:33 +00:00
Sean Harvey
07c4800374 API CHANGE Removed MSSQLQuery::forceNumRows which was a workaround for a lack of sqlsrv_num_rows() which exists as of sqlsrv 1.1 (current version) 2010-05-19 11:37:43 +00:00
Sean Harvey
075f4e53b9 MINOR Code tidy up in MSSQLDatabase 2010-05-19 11:06:35 +00:00
Sean Harvey
530a780a90 API CHANGE Removed MSSQLDatabase::escape_character() which doesn't need to belong on the database 2010-05-19 10:48:19 +00:00
Sean Harvey
d667b49f5f MINOR Removed unused MSSQLDatabase::fulltext() method which did nothing but echo a debug statement 2010-05-19 10:45:30 +00:00
Sean Harvey
b5edca6f91 BUGFIX MSSQLDatabase::formattedDatetimeClause() should start the epoch at 1/1/1970 12:00 instead of 00:00 which it defaults at, otherwise comparing it to PHP produces a full 24 hour time difference 2010-05-19 10:25:46 +00:00
Sean Harvey
7fad117464 MINOR Removed unncessary use of LEFT() in MSSQLDatabase::datetimeIntervalClause() 2010-05-19 10:09:51 +00:00
Sean Harvey
39576dd4e0 BUGFIX MSSQLDatabase date formatting uses style code 120 which represents a typical datetime format without millseconds 2010-05-18 10:47:05 +00:00
Sean Harvey
012849fad9 BUGFIX Fixed version not coming back from SQL Server, as it needs to be casted first 2010-05-13 21:52:57 +00:00
Sean Harvey
90e1e644c9 BUGFIX Fixed incorrect version in MSSQLDatabaseConfigurationHelper::requireDatabaseVersion() 2010-05-13 12:27:25 +00:00
Sean Harvey
104a242b97 ENHANCEMENT Added MSSQLDatabaseConfigurationHelper::requireDatabaseVersion() to check for SQL Server 2008 SP1 as a minimum requirement 2010-05-13 12:25:54 +00:00
Sean Harvey
cb499039ab MINOR Better debugging output for failed queries 2010-05-11 00:12:13 +00:00
Sean Harvey
69ec2c12c9 BUGFIX Fixed error when mssql functions not available 2010-05-10 23:47:44 +00:00
Sean Harvey
28434a195d MINOR Better debugging in MSSQLDatabase::query() 2010-05-10 22:56:43 +00:00
Sean Harvey
572d025029 ENHANCEMENT MSSQLDatabase::text() and MSSQLDatabase::varchar() now use nvarchar which plays along better with UTF-8 characters 2010-05-10 04:45:54 +00:00
Ingo Schommer
2329ac93a5 BUGFIX Quoting of database name in MSSQLDatabase->allTablesSQL() 2010-04-29 23:01:33 +00:00
Sean Harvey
0307d40a61 BUGFIX Float should always be not null and default 0 in the database 2010-04-13 05:38:01 +00:00
Sean Harvey
93c87b4671 BUGFIX Added missing dbDataType method to MSSQLDatabase 2010-04-07 02:46:28 +00:00
Sean Harvey
df785ecbbf BUGFIX MSSQLDatabaseConfigurationHelper didn't detect existing databases using sqlsrv driver properly 2010-03-11 20:09:00 +00:00
Sean Harvey
f5ea92fbd8 MINOR Cleanup of MSSQLAzureDatabase::selectDatabase() 2010-03-11 09:52:16 +00:00
Sean Harvey
23b27e4d9f MINOR Cleanup of MSSQLAzureDatabase::selectDatabase() 2010-03-11 09:51:33 +00:00
Sean Harvey
fd47409602 MINOR Cast MSSQLDatabase::fulltextEnabled() as boolean 2010-03-11 09:46:16 +00:00
Sean Harvey
a9c6c54f4c MINOR Reverted last commit 2010-03-11 09:44:51 +00:00
Sean Harvey
2013c70090 MINOR Small improvement to ini_get() check in MSSQLDatabase::__construct() 2010-03-11 09:41:53 +00:00
Sean Harvey
f1d6819da4 MINOR Partially reverted changes to MSSQLDatabase::affectedRows() in r100630 2010-03-11 08:47:04 +00:00
Sean Harvey
cd0e39c554 MINOR Removed MSSQLDatabase::tableDetails() - there is no base API for this, and it isn't implemented 2010-03-11 08:41:37 +00:00
Sean Harvey
661ce65d24 BUGFIX Proper use of sqlsrv_rows_affected() 2010-03-08 20:15:27 +00:00
Sean Harvey
036570e3c1 ENHANCEMENT Expose errors as they are available with sqlsrv driver in MSSQLDatabaseConfigurationHelper 2010-03-05 21:22:54 +00:00
Sean Harvey
9c4f25b43f ENHANCEMENT Added additional error message pass through on the configuration helper for SQL Server 2010-03-05 04:24:53 +00:00
Sean Harvey
a37fd93c37 BUGFIX Stop sqlsrv warnings from being returned as errors to keep it in line with mssql functions 2010-03-05 02:40:20 +00:00
Sean Harvey
84aed0d9c3 BUGFIX Don't show search result items in MSSQLDatabase::searchEngine() that can't be viewed 2010-02-25 02:40:26 +00:00
Sean Harvey
d09acc0cbe BUGFIX MSSQLDatabase::fullTextEnabled() should be cached so it doesn't have to query it all the time and slow down the database when dev/build occurs 2010-02-23 01:23:42 +00:00
Sean Harvey
5667388908 BUGFIX MSSQLDatabase::fullTextEnabled() should check that full-text capability is installed properly instead of just checking the status of it on the database 2010-02-11 23:09:37 +00:00
Sean Harvey
9779e0a58b MINOR Fixed missing connection required for testing credentials 2010-02-11 11:52:12 +00:00
Sean Harvey
9e9bd677f6 MINOR Removed return of connection which is not used any longer 2010-02-11 10:08:21 +00:00
Sean Harvey
50f8ee7d6a MINOR Renamed variables and keys to conincide with r98795 2010-02-11 09:59:52 +00:00
Sean Harvey
68757c72a6 FEATURE Added MSSQLDatabaseConfigurationHelper which is related to the installer 2010-02-11 07:38:10 +00:00
Sean Harvey
a2c2b3ebc0 BUGFIX Added MSSQLDatabase::set() - it doesn't do anything different to enum at the moment 2010-02-07 01:59:13 +00:00
Andreas Piening
6b82e2b1c2 MINOR: cast to datetime for higher precision 2010-02-04 04:53:25 +00:00
Sean Harvey
ab1b49fdf0 MINOR Removed query to enable fulltext each time MSSQLDatabase::createFullTextCatalog() was called - it's already enabled on databases where fulltext is supported 2010-02-03 08:24:33 +00:00
Sean Harvey
9bbe3603ee BUGFIX Check value() return on MSSQLDatabase::fullTextEnabled() 2010-02-03 08:13:41 +00:00
Sean Harvey
adef3ced70 ENHANCEMENT Automatic checking of fulltext support by looking into the sys.databases table for MSSQLDatabase 2010-02-03 08:11:31 +00:00
Sean Harvey
7d67d25402 MINOR Changed MSSQLDatabase::now() block comment to be more useful 2010-02-03 07:53:08 +00:00
Sean Harvey
de7068d591 MINOR Removed redundant code from various MSSQLDatabase methods - it is now more inline with MySQLDatabase 2010-02-03 07:50:29 +00:00
Sean Harvey
b8b85a12a2 ENHANCEMENT MSSQLDatabase::decimal() field type now accepts user defined default values if it's available 2010-02-03 07:27:50 +00:00
Andreas Piening
9c1bda45ff FEATURE: added datetime helper functions 2010-02-03 05:01:37 +00:00
Sean Harvey
27975ad20f BUGFIX Fixed error when connecting to the database 2010-02-02 02:41:52 +00:00
Sean Harvey
6f42abda19 MINOR Fixed error 2010-02-02 02:34:40 +00:00
Sean Harvey
72a1381455 MINOR Changed the way MSSQLAzureDatabase connects 2010-02-02 02:30:50 +00:00
Sean Harvey
2a1cee6f3a ENHANCEMENT Added MSSQLAzureDatabase->selectDatabase() support - it doesn't work the same way as SQL Server, we have to re-create the database connection 2010-02-02 02:19:43 +00:00
Sean Harvey
adb7369f5f MINOR Removed MSSQLDatabase::$mssqlVersion - it's not used 2010-02-02 02:08:02 +00:00
Sean Harvey
4b3d185c67 FEATURE Added MSSQLAzureDatabase - subclass of MSSQLDatabase which has a different constructor for initialising the database specifically for SQL Azure 2010-02-01 23:26:22 +00:00
Sean Harvey
b8b44eaef5 BUGFIX Fixed proper checking of $this->fullTextIndexExists() when checking for indexes - NULL case means it's fulltext isn't enabled
ENHANCEMENT Support for only one active result set when building a SQL Server database
ENHANCEMENT Removed deprecated two-part syntax for DROP INDEX and used ON instead
2010-02-01 23:24:02 +00:00
Sean Harvey
b7f44bf043 MINOR Ease up restrictions of private variables and methods on MSSQLDatabase - this allows for a subclass for a more specific subset of SQL Server functionality 2010-02-01 21:45:01 +00:00
Sean Harvey
05d2831fb9 BUGFIX Fixed conflict of temp table creation between sites in MSSQLDatabase::createTable() by randomizing the table name 2009-12-15 00:58:58 +00:00
Sean Harvey
7e01c97e53 MINOR Use $this->query instead of DB::query() for instance MSSQLDatabase::createTable() temp table drop queries 2009-12-15 00:19:37 +00:00
Sean Harvey
6ae790f3a3 BUGFIX MSSQL stores temporary tables in the "tempdb" database, so special requirements are needed to make this work correctly with SapphireTest assumptions that this table exists in the same database as the project 2009-12-14 23:57:30 +00:00
Sean Harvey
6bfa6e9d0f BUGFIX Make use of fulltextIndexExists() in MSSQLDatabase::getIndexSqlDefinition() instead of issuing it's own query to do so 2009-12-08 20:53:15 +00:00
Sean Harvey
3bba7b9ef1 ENHANCEMENT Added MSSQLDatabase::fulltextIndexExists() to check if an index exists before dropping it in MSSQLDatabase::alterTableAlterColumn()
BUGFIX Fixed alterting field types with a fulltext index on a table - an error would complain that a fulltext index exists, which needs to be dropped before the column can be altered
2009-12-07 05:38:26 +00:00
Sean Harvey
5bd3bcac67 BUGFIX Ensure that the ID is returned as a string when coming out of the database using the mssql_*() functions. This is NOT set to an integer, because there are many places in the sapphire framework that expect ID to be a string 2009-11-13 03:46:43 +00:00