Guy Sartorelli
9bed2a3d98
MNT Refactor eagerloading tests into their own class
2023-07-17 12:03:09 +12:00
Steve Boyd
771844335b
Merge branch '5.0' into 5
2023-07-17 11:52:07 +12:00
Steve Boyd
3aa6d590a1
MNT Fix unit test
2023-07-11 10:25:16 +12:00
Guy Sartorelli
82e96068d2
Merge branch '5.0' into 5
2023-07-10 14:30:07 +12:00
Guy Sartorelli
5854ce6190
Merge branch '4.13' into 5.0
2023-07-10 14:29:03 +12:00
Dylan Wagstaff
8c3ba81052
FIX PHP 8.1 support in MySQLiConnector::query errors ( #10570 )
...
* FIX PHP 8.1 support in MySQLiConnector::query errors
The default error reporting mode in PHP 8.1 has changed from using
errors reported on the connection handle to throwing
mysqli_sql_exception. query() makes no allowance for this, and
functions up the call stack expect to catch
Silverstripe\ORM\Connect\DatabaseException instead - resulting in the
MySQLi exception going all the way up to halt the system.
We can use a try, catch, and finally to retain backwards compatibility,
no matter which setting (e.g. PHP version default) someone has enabled.
* Move MySQLConnector test skip call into setUp()
As review feedback; marking the test as skipped in a private function
obfuscated where the call was happening and made it harder to skimread
the tests. Moving this into a setUp function makes it obvious the check
is run before each test case, and skipped if necessary.
2023-07-07 15:56:31 +12:00
Guy Sartorelli
612f7e734f
FIX Allow repeated iterations of predicated query result ( #10857 )
2023-07-05 16:25:58 +12:00
Maxime Rainville
110c9135e0
MNT Tweak the Eagerload test to not worry about sort order ( #10848 )
...
* MNT Tweak the Eagerload test to not worry about sort order
* MNT Use array keys for EagerLoad test DataProvider
2023-07-03 16:32:03 +12:00
Guy Sartorelli
0c40cc9b3d
Merge branch '5.0' into 5
2023-06-22 11:19:59 +12:00
Guy Sartorelli
fb7d2256f1
Merge branch '4.13' into 5.0
2023-06-22 11:18:46 +12:00
Sabina Talipova
ad9df97626
FIX LastPage method returns true if TotalPages equals 0
2023-06-22 10:50:41 +12:00
Steve Boyd
246735101a
NEW ORM eager loading
2023-06-07 14:59:02 +12:00
Steve Boyd
696fe79dd6
FIX Use OR conjuctive in filterAny aggregate queries
2023-05-17 11:55:56 +12:00
Guy Sartorelli
2c874a1e94
ENH Exclude a list of models for checking and repairs ( #10746 )
2023-04-04 14:22:00 +12:00
Steve Boyd
9f250cf772
MNT Remove references to PDO
2023-03-16 10:59:34 +13:00
Guy Sartorelli
e3a94b9d10
FIX Ensure getters and setters are respected ( #10708 )
2023-03-01 15:19:07 +13:00
Steve Boyd
0075bf6e49
NEW Access dynamic data inside ViewableData
2023-02-22 09:40:27 +13:00
Maxime Rainville
8c396eb1f6
MNT Remove bad PHPDoc comments on test
2023-02-17 18:53:42 +13:00
Maxime Rainville
7bc4c9dbc3
MNT Tweak some test to account for slightly different sorting logic in PostgreSQL
2023-02-17 18:47:20 +13:00
Maxime Rainville
fc6c45df57
MNT Add test to SQLSelect for Zero limit
2023-01-27 10:00:56 +13:00
Maxime Rainville
5090f49ecc
MNT Add more test coverage to DataList::limit()
2023-01-27 10:00:56 +13:00
Maxime Rainville
d1e0e1e305
ENH Make limit method return no results when zero is provided
2023-01-27 10:00:41 +13:00
Maxime Rainville
944722f34f
API Removed #[\ReturnTypeWillChange] annotations
2023-01-26 18:10:05 +13:00
Steve Boyd
77301408d8
MNT Remove legacy upgrader config
2023-01-20 17:05:41 +13:00
Guy Sartorelli
b784e243de
Merge pull request #10538 from xini/feature-5-trailing-slash-config-and-redirect
...
SS5: add trailing slash config and redirect
2023-01-20 15:24:45 +13:00
Florian Thoma
fbcf7dc3e7
API Normalise trailing slashes for all paths
...
NOTE: There will be additional related PRs required for at least
silverstripe/cms and silverstripe/admin.
Co-authored-by: Guy Sartorelli <guy.sartorelli@silverstripe.com>
2023-01-20 10:31:14 +13:00
Maxime Rainville
b6b0bcea9f
Merge branch '4' into 5
2023-01-18 22:16:45 +13:00
Steve Boyd
c1a773310d
ENH PHP 8.2 support
2022-12-21 14:44:47 +13:00
Guy Sartorelli
0d662ba95f
Merge branch '4.12' into 4
2022-12-19 01:38:09 +00:00
Sabina Talipova
53c0147f11
API Remove deprecated code ( #10594 )
2022-12-08 10:44:47 +13:00
Steve Boyd
ae4d7fa090
API Create orderBy() method to handle raw SQL
2022-12-07 12:25:58 +13:00
Guy Sartorelli
8bb712a461
Merge branch '4.11' into 4.12-release
2022-11-30 10:54:02 +13:00
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