Sam Minnee
ed0341e82f
BUGFIX: Ensure that subtracting a sorted DataList works.
2012-08-23 12:38:54 +12:00
Niklas Forsdahl
76c5b56e81
BUG: augmentSQL always extended on base data class on query finalization
...
The augmentSQL DataExtension method is always extended on the base data
class of data objects in DataQuery::getFinilisedQuery(). This results
in augmentSQL not being called for extensions that are applied to non-
base data classes when finalizing the query.
For example, if Versioned was applied to class B which extends class A,
which in turn extends DataObject, then augmentSQL would be extended for
class A in DataQuery::getFinilisedQuery(). Since class A doesn't have
the Versioned extension in this example, it would not work for class B.
Fixed this by extending augmentSQL on the actual data class and not
on the base class.
2012-08-02 16:09:58 +03:00
Mateusz Uzdowski
70dcb55fe0
BUG Use prepStringForDB consistently across the framework.
...
Also remove a line from DBFieldTest, it's redundant with the previous
line.
Ref: os7229
2012-07-17 14:27:58 +12:00
Simon Welsh
cd0a1ff623
FIX DataQuery::applyRelation was returning the base class.
...
If the applyRelation() was passed a relation that went to a class with a parent
class with a database table, applyRelation would return the name of the parent
class, rather than the class the relation was actually too.
2012-06-29 21:54:48 +12:00
Sam Minnee
1b5768975c
BUG: exclude() clears previously selected filters() (Trac #7529 )
...
This bug was caused by the fact that SQLQuery::whereAny() removed existing filters. In line with addWhere() and setWhere(), I split this into addWhereAny() and setWhereAny(). Strictly speaking, this drops the method SQLQuery::whereAny(), but it was really just an internal function for exclude, and so I think that's acceptable.
2012-06-22 16:31:29 +12:00
Ingo Schommer
3a7128d00c
MINOR Fixed phpdocs
2012-06-20 23:59:16 +02:00
Sam Minnée
a93dd9459e
Merge pull request #496 from sminnee/dataquery-aggregate
...
Dataquery aggregate
2012-06-14 17:20:35 -07:00
Sam Minnee
114ebb6953
API CHANGE: Don't have any instance caching in singleton(), rely on Injector for this.
2012-06-11 22:41:12 +12:00
Sam Minnee
780f2d2b16
API CHANGE: Added DataQuery::aggregate() to allow for aggregates beyond Min, Max, Avg, Sum.
2012-06-06 16:12:05 +12:00
Sam Minnee
5499079c1c
BUGFIX: Fixed ORM bugs introduced in ec55468932
2012-06-05 11:07:19 +12:00
Fabian Schmengler
ec55468932
BUGFIX: Handling of classes with namespaces in database
...
MySQLDatabase::enumValuesForField() - Added stripslashes because backslashes are escaped in the type description
DataObject::requireTable() - Added double quotes to column names in automatically generated indexes for many_many relationships
DataObject::write() - Escaped class name for DB query
DataQuery::getFinalisedQuery() - Escaped class names for DB query
2012-06-04 20:22:37 +02:00
Sean Harvey
792c89e103
ENHANCEMENT Adding List() in the GenericTemplateGlobalProvider so
...
templates can use <% cached List(Member).max(LastEdited) %> instead
of deprecated "Aggregate" syntax.
2012-05-29 20:04:51 +12:00
Ingo Schommer
8f2ede8fcf
MINOR Fixed syntax errors from SQLQuery/DataQuery cleanup
2012-05-16 13:17:19 +02:00
Ingo Schommer
3a11c690ed
MINOR Updated security documentation (phpdoc and markdown) around new DataList and SQLQuery APIs, additional automatic escaping on some stricter inputs like column names
2012-05-16 11:59:22 +02:00
Sean Harvey
051d9de482
API CHANGE Deprecated internal access to SQLQuery properties, update core code to reflect these changes.
...
Using set/add instead in accessor methods, and use Database::sql*ToString() to allow easier per-database adapter SQL overloading.
2012-05-07 14:21:44 +12:00
Sean Harvey
37369abf1d
BUGFIX Fixing SortColumn alias to be recognised by MSSQL/PGSQL
2012-05-03 12:02:21 +12:00
Sam Minnee
2207e3d978
API CHANGE: Add SQLQuery::prepareSelect(), to further remove the need for direct property access.
...
API CHANGE: Change the format of SQLQuery::$select to use aliases as keys.
2012-05-01 18:15:11 +12:00
Sam Minnee
a8e8a6060a
BUGFIX: Fixed errors caused by complex raw SQL sort() calls. ( #7236 )
2012-05-01 18:15:08 +12:00
Sam Minnee
5abf8cf0f3
BUGFIX: Don't select *any* column() in DataQuery::initialiseQuery(); leave that until finaliseQuery(). It shouldn't be necessary and just risks field collisions.
2012-05-01 17:57:44 +12:00
Sam Minnee
8661164c19
API CHANGE: Add SQLQuery::clearSelect(), SQLQuery::selectField() and SQLQuery::itemisedSelect() to make it easier for other subsystems to use SQLQuery without resorting to direct property access.
...
API CHANGE: Remove DataQuery::select() in place of DataQuery::selectField().
BUGFIX: Remove direct property access to SQLQuery::$select
2012-05-01 17:57:39 +12:00
Robert Curry
ff6909df97
ENHANCEMENT: Add lazy loading to DataQuery.
2012-04-30 16:12:15 +12:00
Will Rossiter
9938b64cf6
FEATURE: implement SS_Sortable->reverse()
...
API CHANGE: SQLQuery:: now an array object rather than string. Existing strings will continue to work
2012-04-27 15:54:14 +12:00
Normann Lou
9e60225064
MINOR : Update core docs to use DataList::create() rather than DataObject::get()/get_one()/get_by_id() where appropriate - Trac#6891
2012-03-27 17:02:18 +02:00
Ingo Schommer
3a068a0d18
MINOR Removed references to outdated versions from docs
2012-03-09 21:34:05 +01:00
Sam Minnee
a55e06f6b5
API CHANGE: Introduce SS_Limitable class for adding to SS_Lists that have limit capability.
...
API CHANGE: Deprecated SS_List::getRange() in favour of SS_Limitable::limit().
API CHANGE: Introduce SS_Limitable::limit($limit, $offset = 0) as the only modern way of specifying limits; deprecate all others.
2012-03-09 17:07:40 +13:00
Ingo Schommer
51bae9e4a6
ENHANCEMENT Allowing to save ManyManyList with multiple foreign keys (e.g. required to add to an overloaded Group->Members() relationship)
2012-03-06 21:38:33 +01:00
Stig Lindqvist
056e564217
BUGFIX Subtract should not add order by on subselect
2012-01-27 18:27:24 +13:00
Stig Lindqvist
7f09b6931b
API CHANGE DataList::subtract and DataQuery::subtract for subtracting a list from another list
...
Minor Stripped out ManyManyList tests from DataListTest into it's own test case
2012-01-26 17:59:43 +13:00
Stig Lindqvist
20554b1bf9
BUGFIX DataQuery::orderby() don't sort relations DESC
2011-12-18 04:21:00 +01:00
Stig Lindqvist
9bf247cc33
API CHANGE Introduced DataQuery::whereAny() and SQLQuery::whereAny()
2011-12-17 16:42:30 +13:00
Stig Lindqvist
aafdb8e01c
API CHANGE All SS_List implementators supports filter, exclude and sort methods
2011-12-17 16:42:29 +13:00
Sean Harvey
dd48a605b6
BUGFIX Removing DB coupling in SQLQuery::orderby() stopping functions from being fixed in the select list when used in orderby
...
BUGFIX DataQuery::ensureSelectContainsOrderbyColumns() shouldn't mess with "_SortColumn*" fields created by SQLQuery::orderby()
2011-10-29 23:54:35 +13:00
Sam Minnee
e5afa25522
MINOR: Use Deprecation class to indicate deprecated methods in core.
2011-10-29 17:34:31 +13:00
Sean Harvey
3bf983200b
BUGFIX DataQuery: ensuring ORDER BY columns are set in SELECT clauses
2011-10-29 17:28:46 +13:00
Stig Lindqvist
83e90aaafe
ENHANCEMENT Release of DataGridPagination
...
This class extends the DataGridPresenter with the behaviour and looks of a paginated Datagrid.
2011-10-28 17:34:15 +13:00
Sam Minnee
a15b6941a6
BUGFIX: Replaced ManifestBuilder::has_been_included() with SS_ClassLoader::hasManifest().
2011-05-01 17:12:26 +12:00
ajshort
34e9ddfcc3
MINOR: Moved files from /core/model into /model.
2011-05-01 15:26:30 +12:00