Commit Graph

62 Commits

Author SHA1 Message Date
Sam Minnee
07871f81e1 ENHANCMENT: Low-level performance improvements in database access.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84163 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 08:51:05 +00:00
Sam Minnee
be2fea38dd API CHANGE: Database and Query no longer inherit from Object, since they shouldn't be extended with Extensions.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84061 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-08 02:55:32 +00:00
Sam Minnee
c803dd6350 API CHANGE #3548 ajshort: Allow a column argument for Query::column()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@78557 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-08 00:17:37 +00:00
Sam Minnee
a338a8d6a9 ENHANCEMENT: Don't unncessarily call seek() on Query; this helps use make use of forward-only recordsets.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@78045 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-05-28 02:06:12 +00:00
Sam Minnee
9effc74de3 API CHANGE: Allow passing of temporary option to Database::createTable()
BUGFIX: Made Versioned's archive table functions (show deleted pages and show site at a particular date) db agnostic.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@77551 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-05-21 05:08:11 +00:00
Ingo Schommer
336bce8bf8 ENHANCEMENT Added DataObject::$create_table_options to pass through special options to Database->requireTable(). Contains a keyed array by database driver. Example use is specifying different storage engines for MySQL: array('MySQLDatabase'=>'ENGINE=InnoDB')
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@77160 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-05-19 03:55:14 +00:00
Sam Minnee
b2b7481f04 ENHANCEMENT: Added Database::USE_ANSI_SQL to make it easier to write code that's compatible with both 2.3 and 2.4
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@76509 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-05-10 23:55:38 +00:00
Sam Minnee
f7155ff580 API CHANGE: Database::tableList() no longer returns lowercase table names
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@76355 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-05-07 04:30:54 +00:00
Ingo Schommer
bc14dd3b80 MINOR Fixed case of SQL commands in Database class
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75155 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-27 01:34:23 +00:00
Mark Rickerby
1bd388ee92 fixing alteration message to output plaintext if executed via cli
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74337 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-11 05:00:41 +00:00
Sean Harvey
7cc578a603 BUGFIX Allow empty value passed to Database::manipulate() (merged from r61324)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73656 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-25 22:26:03 +00:00
Sean Harvey
6d561f3a3c removed accidental character
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73616 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-25 03:18:09 +00:00
Sean Harvey
7db4f61c6c BUGFIX Fixed undefined index notice error in Database
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73615 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-25 03:17:19 +00:00
Sean Harvey
b004149267 BUGFIX Check if the index_alt variable is set on the indexList() return before checking if it's an array
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73517 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-23 01:00:33 +00:00
Geoff Munn
e76d876b73 API CHANGE: Postgres support for T-search indexes
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73249 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-17 22:22:46 +00:00
Geoff Munn
ec09946ae8 BUG FIX: modifyIndex function now present (was indexOrIndexAlt())
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73231 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-17 19:56:11 +00:00
Ingo Schommer
68fc0bab0b MINOR Temporarily disabled broken method reference from r73214
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73229 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-17 12:07:18 +00:00
Geoff Munn
ac06b8dd20 API CHANGE: index logic changed for MSSQL compatibility
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73214 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-17 05:02:40 +00:00
Ingo Schommer
a97ee0e97d MINOR Documentation about database indexes
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72976 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-12 11:11:35 +00:00
Geoff Munn
0d1846ac59 API CHANGE: fields now detected properly upon dev/rebuild in MSSQL
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72965 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-12 02:43:10 +00:00
Geoff Munn
cac97f9d78 API CHANGE: Auto-increment of ID column now DB-specific
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72921 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-11 21:48:59 +00:00
Sean Harvey
c5d1a53281 MINOR Fixed Database class PHP notices caused by a missing array index when running dev/build to create a new table
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72750 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-10 02:02:14 +00:00
Geoff Munn
fed4d9b862 API CHANGE: Databases now support index types such as hash, btree (default) and rtree.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72468 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-04 21:54:33 +00:00
Geoff Munn
334cfc8f3e API CHANGE: function RequireField now explained a bit more clearly
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72427 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-03 21:45:54 +00:00
Geoff Munn
0c5e363a68 API CHANGE: 'ID' columns now no longer appear as being changed in Postgres
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71943 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-17 03:54:39 +00:00
Geoff Munn
345693a6e0 API CHANGE: RequireField now no longer returns *all* fields as needing to be changed in Postgres.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71927 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-17 02:49:39 +00:00
Geoff Munn
040913369d API CHANGE: The standard ID column is now database-specific
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71824 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-13 02:37:58 +00:00
Andrew O'Neil
60f75c5ca4 Merged changes from 2.3 branch
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71172 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-01 23:49:53 +00:00
Saophalkun Ponlu
824726c3f5 BUGFIX Allowing to pass direct ALTER TABLE notation into Database->requireField() as a fallback from array-syntax. This is necessary for external modules like gis which cant hook into core database abstraction routines. Specifically, the GeoPoint implementation broke /dev/build
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@69971 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-01-11 22:20:51 +00:00
Geoff Munn
fe0a640c39 API CHANGE: fulltext and unique indexes are now arrays
API CHANGE: db/build now no longer notifies you of changes which haven't actually happened.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@69303 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-12-17 00:40:24 +00:00
Sam Minnee
3a13be7703 BUGFIX: Fixed db/build comparison for enum values
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@67076 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-12-01 05:03:34 +00:00
Sam Minnee
2e955b498e BUGFIX: Fixing tests
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66508 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-24 19:28:46 +00:00
Sam Minnee
96c5be8252 Updating queries to be more DB agnostic
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66507 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-24 09:31:14 +00:00
Sam Minnee
5a98e83f7a API CHANGE: Updated DB::manipulate() to be more db-agnostic.
API CHANGE: Moved the meat of SQLQuery's SQL generation into Database::sqlQueryToString(), to be overloaded by different database implementations.
API CHANGE: Moved the implementation of ClassInfo::hasTable() and ClassInfo::getValidSubClasses() into Database::hasTable() and Database::enumValuesForField(), to be overloaded by different database implementations.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66422 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-23 23:20:02 +00:00
Sam Minnee
c7330dd231 Introduced array-based syntax for specifying field types (Merged branches/dbabs into trunk)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66403 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-23 01:01:03 +00:00
Sam Minnee
a3d3fb65a9 Updated SQL queries to be ansi compatable
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66401 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-23 00:31:06 +00:00
Ingo Schommer
117806756c ENHANCEMENT Added Database->renameField() and Database->dontRequireField()
ENHANCEMENT Added DatabaseTest

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65494 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-09 23:56:24 +00:00
Ingo Schommer
c57ce5f1a4 FEATURE Formatting MySQL error messages with newlines through new SQLFormatter class (used in MySQLDatabase)
ENHANCEMENT Using CliDebugView to report errors on ajax requests (with plaintext output)
ENHANCEMENT Removed "ERROR:" prefix hack for ajax error responses - clientside evaluation should inspect HTTP status codes instead

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@62467 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-09-16 18:12:07 +00:00
Sam Minnee
0bd9bc4ff8 Merged changes from 2.2.2-assets - everything except the asset refactoring
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@60468 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-08-12 02:51:33 +00:00
Ingo Schommer
60860cc1b9 MINOR Unified @package PHPdoc (added where missing, removed duplicates)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@56212 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-06-15 13:33:53 +00:00
Ingo Schommer
bcbadd3670 BUGFIX removed notices
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@52162 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-04-05 01:39:13 +00:00
Matt Peel
7d13ba7fb8 Reverted geoffm's accidental commit to /open
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@50107 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-02-25 02:10:37 +00:00
Geoff Munn
bf3c09bec6 First post
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@50105 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-02-25 01:06:39 +00:00
Matt Peel
cf7f46f870 Fixed comment.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@48193 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-17 23:03:11 +00:00
Sam Minnee
d0827cc3ef simon_w: #2118 - When removing a value from an enum, set affected rows back to the default
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47870 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-10 23:53:34 +00:00
Sam Minnee
41a11b277e Improved API documentation
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47799 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-10 00:34:18 +00:00
Sam Minnee
b1d2e3906b API Documentation updates
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47766 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-09 04:18:36 +00:00
Sam Minnee
d27937f448 Updated API documentation package tags
Fixed some whitespace

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47725 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-08 06:37:50 +00:00
Andrew O'Neil
3ce88a07d9 Merged revisions 47698 via svnmerge from
svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/events

........
  r47698 | sminnee | 2008-01-08 12:11:08 +1300 (Tue, 08 Jan 2008) | 1 line
  
  PDODatabase got the wrong end of the stick - Database::createDatabase() shouldn't need any arguments.  Fixed this in the core class and MySQLDatabase, but PDODatabse still needs fixing.
........


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47710 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-08 02:14:05 +00:00
Sam Minnee
762c1a7369 Fixed bug in Database::manipulate() that prevented pages from being saved with single quotes at the end of the title
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@46671 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-12-12 05:15:17 +00:00