Commit Graph

238 Commits

Author SHA1 Message Date
Sean Harvey
aa3b934712 Fixing use of "bigint" and "decimal" for pure integer types.
See https://github.com/silverstripe/silverstripe-mssql/issues/14 for
more info.

"bigint" doesn't work for PHP 32-bit, as the integer could get too big
for PHP to be able to interpret the value as an integer type. In that
case it would try to approximate it as a float, but that could lead to
a bad assumption for identity columns.

For compatibility, stick with standard "int" type which has a maximum
value of 2147483647.

Note that MySQLAdapter already has this maximum, so changing it to this
keeps this database adapter consistent with MySQL.
2014-07-11 13:38:42 +12:00
Sean Harvey
f0629baad7 Removing reference to postgres, it doesn't belong in the mssql module. 2014-07-11 13:23:54 +12:00
Nik Rolls
e884a1cc31 BUG: Indexes were not being fully escaped (the parent table name was, but if the relational table is also namespaced then it would trigger an error). 2014-01-18 21:30:27 +13:00
Sean Harvey
91a2a6ceb4 Merge branch '3.0-index-fixes' of git://github.com/tractorcow/silverstripe-mssql into tractorcow-3.0-index-fixes 2013-09-13 15:15:10 +12:00
Sean Harvey
01d376f501 BUG Fixing problem where duplicate items appear on pages
Reverts 13cdb07539 and instead calls
setLimitItems(false) on PaginatedList to tell it we've already
limited the number of items to be shown.
2013-05-27 15:21:24 +12:00
Sean Harvey
1560bad60c Free the result when at the end of a set using mssql drivers 2013-05-22 22:38:05 +12:00
Matt Gunn
13cdb07539 Removing paging subset occuring before pagination is set 2013-05-17 11:45:15 +12:00
Sean Harvey
9ae0cecc36 Revert fc3df54eab 2013-04-25 11:33:54 +12:00
Sean Harvey
55c56b9b66 default float spec to 53 so dev/build doesn't continually show as changed
otherwise it continually shows as changed from "float(53) not null..." to
"float not null"
2013-04-25 11:28:05 +12:00
Sean Harvey
fc3df54eab Removing dropping of indexes, has problems with running dev/build twice 2013-04-05 17:23:13 +13:00
Sean Harvey
bd18c0a1f3 removing double up of quotes in getIndexSqlDefinition() 2013-01-07 17:40:30 +13:00
Sean Harvey
d6a075f9c7 Fixing MSSQLDatabase to conform to dev/build change detection
This involves changing a few things around so that it's closer to
how the MySQLDatabase adapter works. indexList() should return an
array in the same format instead of using arbitrary "indexname"
and "spec". indexNames() has also been introduced to MSSQLDatabase
so that we can drop all indexes (except for fulltext and primary key
indexes) on a table when altering the table columns, this helps when
constraints not directly related to a modified column refuse to allow changes.
2013-01-07 16:25:31 +13:00
Sean Harvey
91548f76be Checking for underscore in SortColumn just to be sure 2012-12-20 16:04:44 +13:00
Sean Harvey
7c369a383a BUG Fix SortColumn ORDER BY not working when using a limit
MSSQL doesn't support putting an alias into the OVER clause,
something which is required when limiting results with an offset.
The workaround is to just put the aggregate inline, taken from
the select list.
2012-12-20 15:57:50 +13:00
Sean Harvey
e527665c5c Show the last error a bit more clearly if available 2012-12-19 11:39:51 +13:00
Sean Harvey
f64c662124 Tidying up error reporting in databaseError() and adding getLastError()
Whenever databaseError() is called when a database problem occurred
then the last error is automatically appended to the end of the
general error message.
2012-12-19 11:27:49 +13:00
Sean Harvey
f34996ae1c BUG Remove "empty" keywords when building search SQL 2012-12-19 11:19:48 +13:00
Ingo Schommer
d17ae37411 BUG Support for case sensitive searches
Through newly added Database->comparisonClause() API
2012-12-11 01:47:35 +01:00
Sean Harvey
334c2634ac Removed deprecated transaction methods on MSSQLDatabase 2012-11-16 14:25:13 +13:00
Damian Mooyman
93eab9c132 FIXED: Repaired failing test cases (DataObjectSchemaGenerationTest)
FIXED: Incorrect implementation of alterIndex
UPDATED: Improved parsing of index specification by including code borrowed from the postgres database connector module. Possibly a candidate for refactor into SS_Database.
2012-09-24 15:36:59 +12:00
Kirk Mayo
357482d6c9 BUG: open ticket 7813 fixing dobule quoting issue in getIndexSqlDefinition 2012-08-27 15:05:37 +12:00
Ingo Schommer
530c97f671 Added supportsTimezoneOverride() method 2012-07-06 11:36:07 +02:00
Sam Minnee
05e706ea18 BUG: Fixed MSSQL index name generation for tables with \ in the name.
Right now the name of a table with a namespace will contain a '\' character.  The internal index name generated clashes with this, so we've dealt with it by turning the '\' into a '_'
2012-06-26 14:52:18 +12:00
Sam Minnee
22d53b036b BUG: Fixed index generation to meet new SS3 expectations.
In SS3, the column lists passed through for index specifications are now quoted.  The database adaptor needed to be updated to meet this change.
2012-06-26 14:35:59 +12:00
Sean Harvey
0465f1b1a2 MINOR Performance optimisation in MSSQLDatabase::nextRecord() by
building field meta-data only on construct of MSSQLQuery
2012-06-12 13:31:29 +12:00
Sean Harvey
a4c269bf62 BUGFIX Fixing date/datetime handling in MSSQLDatabase
Fixing the date type to actually be "date", and not "datetime" so
that values are returned as "Y-m-d" for dates, and not "Y-m-d H:i:s".

Additionally, fixing a case where using the mssql functions would
return strange datetime formats. We need the datetime field values
in Y-m-d H:i:s. To get this working, we need to inspect the field type
when retrieving rows from the database and re-format the datetime
value at this point. This is done in MSSQLQuery::nextRecord()
2012-06-12 12:57:53 +12:00
Sean Harvey
84ec3a2014 BUGFIX Fixed undefined notice regression 2012-05-08 17:41:01 +12:00
Sean Harvey
f1daa29592 BUGFIX Fixing MSSQLDatabase to work with latest SQLQuery changes in SS3 2012-05-07 16:40:47 +12:00
Sean Harvey
05d24b0843 BUGFIX Ensure DateTime objects are handled correctly 2012-05-04 21:58:48 +12:00
Sean Harvey
30f017335b BUGFIX Fixing SS3 broken search, use simpler query syntax 2012-05-03 14:33:17 +12:00
Sean Harvey
731874772c BUGFIX Fixing broken SS3 query code in MSSQLDatabase 2012-05-03 12:01:50 +12:00
Sean Harvey
a872e30256 BUGFIX Fixing database to use prepareWhere instead which is renamed 2012-05-01 12:08:19 +12:00
Sean Harvey
cb01716d39 BUGFIX Fixing order by fields for SS 3.0 in MSSQLDatabase::sqlQueryToString() 2012-04-27 17:25:50 +12:00
Sean Harvey
c7ae517c99 BUGFIX Fixed support for SS 3.0 with SQLQuery changes in 9938b64cf6ed0e05583633f1b894f89bd1e9f71f 2012-04-27 17:17:55 +12:00
Sean Harvey
b6082a023e ENHANCEMENT Use CONTAINSTABLE for fulltext searches, as it provides better fuzzy search results. 2012-04-26 17:31:12 +12:00
Sean Harvey
375d440677 BUGFIX Ensure that values with unicode characters like macrons are saved
to the database correctly. Overload the prepStringForDB() method and
include an "N" prefix.
2012-03-21 12:03:11 +13:00
Sean Harvey
2312b49b9c BUGFIX Fixes to searchEngine() to support SS 3.0 ORM changes 2011-12-17 12:43:09 +13:00
Sean Harvey
a9444a8313 MINOR Removed unused variables from MSSQLDatabase::alterTable() 2011-10-13 14:13:33 +13:00
Sean Harvey
6cbe886a33 BUGFIX Fixed case where DROP FULLTEXT INDEX failed because it was being called twice, unncessarily. Do it once when altering a table structure.
MINOR Cleanup of code in MSSQLDatabase
2011-10-13 14:12:58 +13:00
Sean Harvey
c1ba0fafc9 BUGFIX MSSQLDatabase::getIndexSqlDefinition() should check a primary key exists before trying to use an empty variable and causing dev/build failures 2011-10-13 13:57:04 +13:00
Ingo Schommer
4b933d7e73 ENHANCEMENT Optionally filtering by new File.ShowInSearch flag in MSSQLDatabase->searcnEngine() 2011-09-15 16:02:23 +02:00
Sean Harvey
00b81bbdd4 BUGFIX MSSQLDatabase::alterTableAlterColumn() creates ALTER COLUMN clauses twice in the same query for the same column unnecessarily 2011-06-09 13:56:55 +12:00
Ingo Schommer
b772956ce8 BUGFIX Allow omitting FROM clause in sqlQueryToString() 2011-05-19 11:36:14 +12:00
Ingo Schommer
6f5de764d2 API CHANGE Renamed transactions methods from endTransaction() to transactionEnd(), startTransaction() to transactionStart() to comply with new sapphire trunk API 2011-03-11 16:41:14 +13:00
Geoff Munn
7ea6652e56 MINOR: MSSQL stub function created for Postgres-specific functionality 2011-01-12 02:05:32 +00:00
Sean Harvey
c104222019 MINOR Clean up code of MSSQLDatabase::addslashes() 2010-12-15 23:18:27 +00:00
Andreas Piening
bff9718dd6 MINOR: allow backslashes 2010-12-15 21:48:05 +00:00
Sean Harvey
8f3b255c5e ENHANCEMENT Implemented MSSQLDatabase::allDatabaseNames() and MSSQLDatabase::dropDatabaseByName() so that dev/tests/cleanupdb will work on this database 2010-11-04 22:06:29 +00:00
Sean Harvey
9e1cdc8cfa BUGFIX Ensure that Relevance field check in MSSQLDatabase::searchEngine() also checks for Relevance escaped in double quotes 2010-11-01 03:20:52 +00:00
Sean Harvey
7b6899b3f0 MINOR Clearer documentation on MSSQLDatabase::getPrimaryKey() 2010-10-20 03:21:54 +00:00