Michal Kleiner
b107622400
FIX Improve rounding logic for storing of long decimal numbers ( #10593 )
...
Co-authored-by: Michal Kleiner <michal.kleiner@cub3.com>
2022-11-29 15:07:56 +13:00
Sabina Talipova
a52c7795c7
Merge branch '4' into 5
2022-11-22 11:41:53 +13:00
Steve Boyd
137ebcebec
API Stop using deprecated API
2022-11-15 18:20:54 +13:00
Guy Sartorelli
e140c3786c
FIX Ensure consistent behaviour with repeat iterations
2022-09-15 16:22:48 +12:00
Guy Sartorelli
d9be52579d
MNT Fix test
2022-09-15 13:29:29 +12:00
Loz Calver
8e0e797b40
Fix code style
2022-09-15 13:29:27 +12:00
Loz Calver
749405170c
Update MySQLDatabaseTest to work with new query iterators
2022-09-15 13:29:10 +12:00
Sam Minnee
77c7552c3f
NEW: ORM’ Query is a generator-based IteratorAggregate
...
API: Query no longer has iterator methods current(), first(), rewind(), next()
Using generators reduces the amount of boilerplate needed for this
code.
Turning it into an IteratorAggregate means that the iterator can be
re-created for each subsequent foreach call. This means that the
rewind() and seek() functionality can be discarded.
2022-09-15 13:28:56 +12:00
Sam Minnee
d8735633a7
FIX: Don’t call PaginatedList::getIterator() directly.
...
It’s best for foreach() to call this for us.
2022-09-15 13:28:20 +12:00
Guy Sartorelli
03b929dd33
API Remove support for PDO ( #10499 )
2022-09-15 13:13:48 +12:00
Guy Sartorelli
06b13e0fa6
Revert "Merge pull request #10450 from creative-commoners/pulls/5/rescue-master-generators" ( #10483 )
...
This reverts commit 9edf3a5ca6
, reversing
changes made to 934fafd29d
.
2022-09-02 10:58:37 +12:00
Guy Sartorelli
1bf86cf39f
API Revert shorten auto-generated table names ( #10482 )
...
* Revert "BUG Fix table name test"
This reverts commit b36a01a8fd
.
* Revert "ENH shorten auto-generated table names"
This reverts commit 156f63bce3
.
2022-09-02 10:55:45 +12:00
Steve Boyd
37ff4ee46a
Merge pull request #10454 from creative-commoners/pulls/5/rescue-master-table-name
...
API rescue master-branch PR: Shorten auto-generated table names #7621
2022-09-01 09:12:11 +12:00
Steve Boyd
9edf3a5ca6
Merge pull request #10450 from creative-commoners/pulls/5/rescue-master-generators
...
API rescue master-branch PR: Use Generators for ORM
2022-08-29 19:03:47 +12:00
Steve Boyd
b37921d0b1
Merge pull request #10462 from creative-commoners/pulls/5/rescue-master-join-aliases
...
Rescue Master Branch PR: Fix SQLConditionalExpression::getJoins so it always adds explicit aliases
2022-08-24 15:33:41 +12:00
Serge Latyntcev
e07671a890
Fix SQLConditionalExpression::getJoins so it always adds explicit aliases
...
This is a revert of https://github.com/silverstripe/silverstripe-framework/pull/8956
2022-08-24 11:27:02 +12:00
Andrew Aitken-Fincham
f2de39162d
API Allow dataobject get_one without passing a class
...
add class validation early in get_one()
2022-08-23 16:25:23 +12:00
Christopher Joe
b36a01a8fd
BUG Fix table name test
2022-08-22 17:47:14 +12:00
Guy Sartorelli
4cb36d4d14
MNT Fix test
2022-08-11 16:29:39 +12:00
Daniel Hensby
595835bb15
Merge pull request #6518 from sminnee/generators
...
Use Generators for ORM Query, Map, ArrayList
2022-08-11 16:29:32 +12:00
Guy Sartorelli
11595952f4
NEW Search across multiple searchable fields by default ( #10382 )
...
* NEW Search across multiple searchable fields by default
* ENH Split search query and search each term separately.
2022-08-01 12:19:02 +12:00
Loz Calver
d79564751f
Merge pull request #10406 from creative-commoners/pulls/4/manymany-extra-fields
...
NEW Set many_many_extraFields data via the ORM
2022-07-28 09:02:13 +01:00
Steve Boyd
bd2ba1e18a
Merge branch '4.11' into 4
2022-07-28 14:05:28 +12:00
Steve Boyd
b24c289892
Merge branch '4.10' into 4.11
2022-07-28 14:05:07 +12:00
Steve Boyd
bdf7d09144
MNT Update Utf8TestHelper for MySQL 8.0.30
2022-07-28 13:21:23 +12:00
Guy Sartorelli
af3c50c9da
NEW Set many_many_extraFields data via the ORM
2022-07-28 09:29:36 +12:00
Steve Boyd
3547a5600d
Merge branch '4.11' into 4
2022-07-26 16:34:37 +12:00
Steve Boyd
ce46e2da47
MNT No longer mark tests as skipped if running mysql 8
2022-07-26 13:54:10 +12:00
Steve Boyd
d4d1ff3450
Merge branch '4.11' into 4
2022-07-22 11:21:15 +12:00
Steve Boyd
f6693d4ea5
Merge branch '4.10' into 4.11
2022-07-22 11:20:22 +12:00
Steve Boyd
5eb8d3e25f
MNT Skip test in MySQL8
2022-07-22 11:16:32 +12:00
Steve Boyd
674e6d9b7b
MNT Update utf8 aliases for mysql 8 and mariadb 10.6
2022-07-21 15:19:16 +12:00
Guy Sartorelli
0482444342
MNT Add tests for overriding DataObject via injection
2022-07-07 09:49:25 +12:00
Guy Sartorelli
cfb347dc9b
Merge branch '4.11' into 4
2022-06-30 16:33:12 +12:00
Guy Sartorelli
ffcaed84f3
MNT Update tests for searchable_fields match_any
2022-06-30 15:55:56 +12:00
Guy Sartorelli
8ae7f30c41
Merge branch '4.11' into 4
2022-05-27 15:19:51 +12:00
Guy Sartorelli
dec85819bd
Merge branch '4.10' into 4.11
2022-05-27 15:19:39 +12:00
Guy Sartorelli
0bc3ed4d2c
Merge branch '4.9' into 4.10
2022-05-27 15:19:17 +12:00
Guy Sartorelli
2cf1725ba6
Merge pull request #10317 from silverstripe-terraformers/feature/mock-sleep
...
NEW: Mock sleep unit test utility.
2022-05-27 13:52:01 +12:00
Steve Boyd
6f27dadae8
Merge branch '4.11' into 4
2022-05-26 12:39:09 +12:00
Steve Boyd
ec5b94facf
MNT Update utf8 aliases for mysql 8 and mariadb 10.6
2022-05-26 12:06:51 +12:00
Mojmir Fendek
a9a6b0f114
PR fixes.
2022-05-19 14:09:04 +12:00
Sabina Talipova
cb37869bac
Merge pull request #10297 from creative-commoners/pulls/4/gridfield-set-polymorphic-class
...
Issue was fixed
2022-05-13 14:01:17 +12:00
Mojmir Fendek
78d20f6fe5
NEW: Mock sleep unit test utility.
2022-05-13 13:15:24 +12:00
Mojmir Fendek
b864c11b12
PR fixes.
2022-05-13 12:11:18 +12:00
Guy Sartorelli
5436df57e4
FIX Add polymorphic class on new records for use in forms.
2022-05-11 14:04:52 +12:00
Guy Sartorelli
19bb72e7c7
FIX Correctly remove relations with ManyManyThroughList::removeall
...
Instead of just setting one side of the relation to null in the through
list, remove the rows entirely.
Remove only the relations which match the filters that have already been
set on the list.
This is consistent with the way ManyManyList works.
Also some small tidy-up (removing an unnecessary line break and an
unused "use" statement)
2022-05-05 11:21:51 +12:00
Steve Boyd
511b3bb060
ENH PHP 8.1 compatibility
2022-04-14 13:12:59 +12:00
Steve Boyd
814c5b2fd0
ENH Fix deprecation issues for PHP 8.1 compatibility
2022-04-06 11:34:34 +12:00
Tyler Trout
6b1c5eb6d7
NEW Allow methods to be used for flexible searchable_fields ( #10199 )
...
* Allow methods to be used for flexible searchable_fields
* match_any key
* Documentation
* Update docs/en/02_Developer_Guides/00_Model/11_Scaffolding.md
Co-authored-by: GuySartorelli <36352093+GuySartorelli@users.noreply.github.com>
* Search fields test
* Newlines
* Update src/ORM/Search/SearchContext.php
Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
* Update docs/en/02_Developer_Guides/00_Model/11_Scaffolding.md
Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
* Removed comments and whitespace. Linting fixes
Co-authored-by: GuySartorelli <36352093+GuySartorelli@users.noreply.github.com>
Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
2022-02-10 09:40:16 +13:00
Michal Kleiner
645e1f14bd
Merge pull request #10173 from GuySartorelli/patch-2
...
FIX Allow custom SELECT to be used for sorting in DataQuery::column()
2021-12-14 10:23:48 +13:00
GuySartorelli
0b0c13764b
FIX allow custom SELECT to be used for sorting in DataQuery::column().
...
If a custom select clause (using special features such as `CASE`) is used, and it was added using `SQLSelect::selectField`, the custom select clause should be retained when calling DataQuery::column().
2021-12-14 08:01:02 +13:00
Lukas
552cf5944d
MNT Fix various typos with codespell ( #10177 )
2021-12-13 21:05:33 +13:00
Sergey Shevchenko
235ebe3c3c
TEST: Simulated test for MySQLSchemaManager::shouldUseIntegerWidth()
2021-12-08 11:19:47 +13:00
Loz Calver
20134e6a4f
NEW Add FirstPage() and LastPage() to PaginatedList ( #10129 )
2021-11-08 09:26:21 +13:00
Steve Boyd
cd076542f4
API Upgrade SapphireTest to work with phpunit 9 ( #10028 )
2021-10-27 15:39:47 +13:00
GuySartorelli
059d8aac0a
NEW Add afterUpdateCMSFields method to DataObject. ( #9819 )
2021-10-26 16:05:11 +13:00
Maxime Rainville
fd8b0cc253
MNT Fix broken test caused by missing table
2021-10-04 15:16:10 +13:00
Michal Kleiner
38fe326262
MNT Fix minor typos
2021-09-25 00:23:43 +12:00
Michal Kleiner
7226d7fab6
ENH Add tests for Hierarchy extension when applied to a subclass
2021-09-25 00:23:43 +12:00
Matt Peel
f99ba5d716
NEW Add extension point to DataObject->hydrate()
2021-08-25 16:07:02 +12:00
Steve Boyd
87d076faa6
FIX Cast DBInt value to int
2021-07-06 16:43:54 +12:00
Steve Boyd
8e803bbcfc
FIX Parse Enums with dots in their values
2021-07-01 16:00:08 +12:00
Michal Kleiner
0bd5b98d62
MNT Fix typos in test comments
2021-06-03 13:49:24 +12:00
Michal Kleiner
9dd69c40e3
NEW Add DBText->Summary tests
2021-06-03 13:49:24 +12:00
Steve Boyd
9ccdb8efb2
Merge branch '4.7' into 4.8
2021-05-31 17:04:54 +12:00
Maxime Rainville
472fc4ebb4
BUG Update DataQuery::exists to return false when limit causes no result to be returned ( #9946 )
...
* BUG Update DataQuery::exists to return false when limit causes no result to be returned
* Update comment
* Fixing linting issue
2021-05-31 16:50:58 +12:00
Maxime Rainville
6fc25e4e96
RFC Add chunk method to DataList to iterate over large dataset ( #8940 )
2021-04-14 07:49:44 +12:00
Maxime Rainville
9ca33950a2
API Add a CREATE_MEMORY_HYDRATED option to DataObject constructor ( #9767 )
2021-01-21 14:07:06 +13:00
William Desportes
c932d7e7fb
Fix the phpdoc blocks
2020-12-21 22:23:23 +01:00
Steve Boyd
5be045f9a2
FIX Bug when specifying 0 in ArrayList::offsetSet
2020-12-15 14:50:10 +13:00
Steve Boyd
6e77d5eada
NEW DataObject related objects service
2020-10-29 09:29:26 +13:00
Sam Minnee
9247bc8b79
NEW: Add Symfony 4 support alongside Symfony 3
...
- Remove duplicate key in YML file
- Remove deprecated yaml dump indentation set (the constructor arg works in both ^3 and ^4)
Fixes #9274
2020-09-21 19:09:08 +12:00
Dan Hensby
ae0ece2b02
Merge pull request #9665 from creative-commoners/pulls/4/php8-fqcn-token
2020-09-18 20:44:22 +01:00
Sam Minnee
0d7c5a9ece
NEW Add/remove callbacks on RelationList
...
This provides a mechanism for adjusting the behaviour of these
relations when building more complex data models.
For example the following example has a status field incorporates a
Status field into the relationship:
```php
function MyRelation() {
$rel = $this->getManyManyComponents(‘MyRelation’);
$rel = $rel->filter(‘Status’, ‘Active’);
$rel->addCallbacks()->add(function ($relation, $item, $extra) {
$item->Status = ‘Active’;
$item->write();
});
}
```
Introduces a new library dependency: http://github.com/sminnee/callbacklist
2020-09-18 13:33:42 +12:00
Garion Herman
099ee2deb7
FIX Remove extraneous @depends annotations
2020-09-15 17:40:42 +12:00
Garion Herman
f1c94e6d54
FIX Allow quotes in expected ReflectionExceptions within tests
2020-09-15 17:40:42 +12:00
Robbie Averill
de61681dec
Merge pull request #9634 from open-sausages/pulls/4/ellipsis
...
BUG Use proper ellipsis character in the various summary method.
2020-09-10 14:48:33 -07:00
Maxime Rainville
acdebcdba7
Fix unit test
2020-09-10 17:08:13 +12:00
Guy Marriott
3575070b9d
FIX Removing selected column detail only if having is empty (MySQL "feature")
2020-09-01 16:21:43 +12:00
Serge Latyntcev
f57d5cc807
ENH Test coverage for MySQL connection collation
2020-08-30 13:21:38 +12:00
Sam Minnée
b810b7d5c9
API: Allow for user-created objects to have values passed in the constructor ( #8591 )
2020-08-20 12:28:31 +12:00
Maxime Rainville
26b8b7964e
Rename DefaultEllipsis to defaultEllipsis
2020-08-07 09:48:42 +12:00
Maxime Rainville
896c0e4388
BUG Use proper ellipsis character in the various summary method.
2020-08-06 19:37:03 +12:00
Mojmir Fendek
c2ed6a4cd6
NEW: WithMockTime callback.
2020-08-06 11:18:39 +12:00
Garion Herman
d408a4e714
Merge branch '4.6' into 4
2020-07-13 12:28:14 +12:00
Garion Herman
fbe0f5a981
Merge branch '4.5' into 4.6
2020-07-13 12:27:02 +12:00
Maxime Rainville
b780c4f504
BUG Tweak DBHTMLText::Plain to avoid treating some chinese characters as line breaks.
2020-07-09 13:33:43 +12:00
Sam Minnee
01d3b4fd96
FIX: Set many-many-through joinRecord on newly added records.
...
When many-many-through relations are queried, a joinRecord is set on
each DataObject in the list to provide the extra fields defined on
the connector object. This didn’t previously happen when the record
was first add()ed to a list. This fixes that bug.
2020-07-02 15:18:12 +12:00
Daniel Hensby
080ce157ce
Fix various typos in comments
2020-05-16 10:34:53 +01:00
Michal Kleiner
21129b1624
Use short array syntax across the framework's codebase
2020-05-16 10:34:45 +01:00
Mojmir Fendek
7dc6b36c16
Unique key for DataObject ( #9400 )
...
NEW Unique key for DataObject
2020-05-04 09:10:51 +12:00
Daniel Hensby
237b2d5f74
Convert array delcarations to short array syntax
2020-04-20 18:58:09 +01:00
Ingo Schommer
2c5deceeb4
FIX Filter out all FULLTEXT BOOLEAN chars
...
The query might still work depending on where these chars are placed,
but it seems weird to only remove *some* of the valid chars here.
See https://dev.mysql.com/doc/refman/5.6/en/fulltext-boolean.html
Note that the query runs both the actual boolean query with chars,
and then a separate relevance search without them.
2020-04-09 10:32:45 +12:00
Ingo Schommer
c6b698cb02
NEW Allow InnoDB for FULLTEXT indexes
...
MyISAM used to be the only one to support it, now InnoDB has caught up.
Unless an engine is set specifically in create_table_options,
this will auto-convert existing MyISAM tables to InnoDb.
Fixes #9242
2020-04-09 10:32:45 +12:00
Steve Boyd
9d5c3ef20e
Merge branch '4.4' into 4.5
2020-02-11 16:45:15 +13:00
Mojmir Fendek
99786dda22
ORM Column now supports related table lookup
2020-01-28 15:46:30 +13:00
Andre Kiste
6650d81324
BUG Fix extra blank Group being created when creating a new Group ( #9325 )
...
* Fix extra blank Group being created when creating a new Group
* Update tests to reflect expected behavior
* Improved tests
2019-11-27 09:32:33 +13:00
Serge Latyntcev
33a28394d6
Merge branch '4.4' into 4
2019-10-18 15:59:28 +13:00
Serge Latyntcev
0cf5d4cbe2
Merge branch '4.3' into 4.4
2019-10-18 15:58:13 +13:00