Robbie Averill
844d2ef134
NEW DBDate and DBDatetime now support modify() with a strtotime() style adjustment string ( #9105 )
2019-07-05 15:57:23 +12:00
Sam Minnee
404366909e
FIX: Fix MysqlStatement::rewind()
...
Its implementation is more naive than Query’s and leads to unnecessary
seek()ing. This causes issues with the previous commit.
2019-07-03 14:28:31 +12:00
Sam Minnee
96e7914f23
FIX: Fix MySQLQuery::seek() and Query::rewind() to fix repeated iteration
...
API: Query::seek() and Query::rewind() no longer return a value.
Although breaking an API inside a patch release may seem odd, this in
fact is correcting a long-standing bug in our implementation of
Iterator::rewind(), so I think it’s appropriate.
https://github.com/silverstripe/silverstripe-framework/issues/9097
2019-07-03 09:20:05 +12:00
Guy Marriott
59ba9a717d
FIX Allow extensions to update form scaffolding on DataObjects
2019-06-28 16:11:16 +12:00
Guy Marriott
aeefb920e1
Allow displaying partial/full query message for debugging ( #9020 )
...
Allow displaying partial/full query message for debugging
2019-06-28 15:15:33 +12:00
Robbie Averill
c76d3a5db1
FIX Protect against undefined index when using nullifyEmpty option
2019-06-26 09:26:36 +12:00
Sam Minnee
27ace03273
NEW: Deprecated PDO in favour of native drivers
...
https://github.com/silverstripe/silverstripe-framework/issues/8598
2019-06-11 16:17:30 +12:00
Robbie Averill
00fd74a0a1
Merge branch '4.4' into 4
...
# Conflicts:
# src/Dev/Tasks/MigrateFileTask.php
2019-05-30 09:36:42 +12:00
Robbie Averill
14673ffd0a
Merge branch '4.3' into 4.4
2019-05-30 09:35:26 +12:00
Robbie Averill
188698dcee
Merge branch '4.2' into 4.3
2019-05-30 09:35:17 +12:00
shoosah
80e4886c3f
Add getter and change visibility for whitelist_array property
2019-05-28 14:15:12 +12:00
shoosah
d740998463
Improve displayQuery and benchmarkQuery functions and whitelist_array variable
2019-05-28 12:00:05 +12:00
shoosah
d684c69f09
Allow displaying partial/full query message for debugging
2019-05-28 12:00:05 +12:00
Guy Marriott
350888bf50
NEW Adding a shuffle method to ArrayList ( #8984 )
...
* NEW Adding a shuffle method to ArrayList
* API Add shuffle to DataList for ArrayList parity
2019-05-16 09:26:11 +12:00
Aaron Carlino
3f1479edbb
BUGFIX: DataQuery overwriting _SortColumn selects ( #8974 )
...
* BUGFIX: DataQuery overwriting _SortColumn selects
* FIX DataQuery _SortColumn handling
2019-05-15 11:42:10 +12:00
Maxime Rainville
8ee50d2ba7
API Remove DataObjectSchema::getFieldMap() ( #8960 )
...
Introduced as a less public API in https://github.com/silverstripe/silverstripe-assets/pull/227
2019-05-06 12:33:23 +12:00
Guy Marriott
82c8225502
Merge branch '4.3' into 4.4
2019-05-03 09:45:25 +12:00
Serge Latyntcev
3d777cfb8a
Backward compatible behaviour for SQLConditionalExpression::getJoins
2019-05-02 15:39:36 +12:00
Andre Kiste
0c6c57f1ef
Add getFieldMap
method to retrieve a list of all fields for any giv… ( #8892 )
...
* Add `getFieldMap` method to retrieve a list of all fields for any given class
* Add `TagsToShortcodeTask` to upgrading guide
Adding after the file migration part as this is where it makes the most sense to run it.
* `getFieldMap` accepts an array
* Move to `DataObjectSchema`
* Add `HTMLVarchar` to documentation
Minor refactoring
* Add test for checking that `subclassesfor` works without the base class
Add test `DataObjectSchema::getFieldMap` returns the correct array
* Remove cms dependency
2019-04-30 10:43:14 +12:00
Robbie Averill
8c6bf7ce53
Merge branch '4.3' into 4.4
2019-04-21 11:09:25 +12:00
Robbie Averill
523456ae09
Merge pull request #8921 from creative-commoners/pulls/4.3/threshold-count-in-sql
...
FIX Calculate threshold condition with SQL rather than PHP
2019-04-21 01:25:24 +12:00
Guy Marriott
80ad336e97
NEW Add API to create a generator from a DataList ( #8931 )
2019-04-18 15:31:41 +12:00
Aaron Carlino
c63eecc3e1
Merge branch '4.3' into 4
2019-04-18 11:57:36 +12:00
Guy Marriott
da1af3d8b0
FIX Postgres booleans should return as int for consistency
2019-04-17 15:15:17 +12:00
Guy Marriott
9d6b5048a6
FIX Table aliases are retained on base tables in queries built using SQLConditionalExpression ( #8918 )
...
* Adding failing test for base table aliases using SQLSelect
* FIX Retain table aliases applied to the base table on queries
* FIX Move the trimmed alias outside of the condition so we can use it within the condition
2019-04-16 15:40:09 +12:00
Guy Marriott
7fd6e14423
Adding comment about the === 't' condition for supporting postgres
2019-04-16 12:10:13 +12:00
Guy Marriott
a48beac845
FIX Calculate threshold condition with SQL rather than PHP
...
This is a performance fix. Modern SQL engines can avoid counting a whole result set (potentially thousands of records) when you are only interested if the count exceeds a threshold.
2019-04-15 16:48:44 +12:00
Sheila Bañez
63360f8048
BUG Replace substr with mb_substr to get the correct position
2019-04-15 16:38:52 +12:00
Robbie Averill
2c971eea83
Merge branch '4.3' into 4
2019-04-11 11:37:47 +12:00
Robbie Averill
f2f28586d9
Merge branch '4.2' into 4.3
2019-04-11 11:37:34 +12:00
Robbie Averill
116ea12783
Merge branch '4.1' into 4.2
2019-04-11 11:37:22 +12:00
Robbie Averill
f4a6115ee6
Merge branch '4.0' into 4.1
2019-04-11 11:36:40 +12:00
Robbie Averill
8a06682e31
Merge branch '4.3' into 4
...
# Conflicts:
# src/ORM/Connect/DBSchemaManager.php
2019-04-11 11:24:17 +12:00
Robbie Averill
55cbacca86
Merge branch '4.2' into 4.3
...
# Conflicts:
# src/Forms/GridField/GridFieldLevelup.php
# src/includes/constants.php
2019-04-11 11:21:42 +12:00
Loz Calver
594af77134
FIX: prevent unnecessary field alterations for enums with empty defaults
2019-04-05 16:17:41 +01:00
Sam Minnee
c9c7c0c825
FIX: Fix PDO cached statement column coercion
...
NEW: Add PDOStatementHandle class that is now what PDOQuery expects
2019-04-05 15:11:21 +13:00
Sam Minnee
45e1fcaf30
FIX: Correct type coercion of MySQL
2019-04-05 15:11:21 +13:00
Sam Minnee
adb6e9eb8d
FIX: Perform type coercion on PDO-based MySQL and SQLite connections
...
It turns out that this is needed for decimal values on MySQL and all
values on SQLite
2019-04-05 15:05:42 +13:00
Jonathon Menz
fae19c16b5
FIX has_one File form scaffolding
...
Only allow selection of a single file when scaffolding has_one File relationship (fixes #8862 )
2019-03-26 09:50:59 -07:00
Damian Mooyman
83ec0b69fa
BUG Resolve issue where schema changes between enum / non-enum types
2019-03-26 14:16:05 +13:00
Loz Calver
8483a9644c
Merge pull request #8874 from johannesx75/fix-pdoconnector-generatedid-type-2
...
Fix PDOConnector GeneratedID return type
2019-03-22 09:09:23 +00:00
Daniel Hensby
6d4d332448
Merge pull request #8830 from ntd/pr7
...
Fix #8829 : mention get_one does not escape field names
2019-03-21 14:38:34 +00:00
Johannes Hammersen
e1190e33d2
Fix PDOConnector GeneratedID return type
2019-03-21 09:26:14 +01:00
Damian Mooyman
6b450395ce
API Allow empty arraylists to be typed ( #8866 )
...
* API Allow empty arraylists to be typed
* PHPCBF fixes
2019-03-20 11:46:35 +13:00
Bernard Hamlin
8d1a238e97
Add option to leave Temp DB when exiting
2019-03-19 14:37:13 +13:00
Nicola Fontana
252397d8d1
Fix #8829 : mention get_one does not escape field names
2019-03-08 08:20:47 +01:00
Dan Hensby
765d1568ab
Merge branch '4.3' into 4
2019-03-06 11:04:50 +00:00
Dan Hensby
a8605b04e0
Merge branch '4.2' into 4.3
2019-03-06 11:04:14 +00:00
Guy Marriott
f8f6983773
Merge pull request #8793 from wilr/pulls/orm-exception
...
Throw error message when searchable_field does not return a object
2019-03-06 08:50:50 +13:00
Damian Mooyman
d1396b7dfe
BUG Fix writeBaseRecord with unique indexes
...
Fixes #6819
2019-02-27 16:40:12 +13:00
Maxime Rainville
11b9429c34
Merge branch '4.3' into 4
2019-02-27 12:14:51 +13:00
Maxime Rainville
651d537196
Merge branch '4.2' into 4.3
2019-02-27 12:13:24 +13:00
Maxime Rainville
ed013fcfbb
Merge branch '4.1' into 4.2
2019-02-27 12:12:39 +13:00
Maxime Rainville
ac53f77115
Merge branch '4.0' into 4.1
2019-02-27 12:11:47 +13:00
Maxime Rainville
9a59f2f57d
BUG Renable the ability to do dynamic assignment with DBField
2019-02-22 11:08:43 +13:00
Robbie Averill
3e90fdf42f
Merge branch '4.3' into 4
2019-02-19 08:41:05 +07:00
Robbie Averill
ed74549c4f
Merge branch '4.2' into 4.3
2019-02-19 08:39:59 +07:00
Robbie Averill
79e44b42fa
Merge branch '4.1' into 4.2
2019-02-19 08:37:07 +07:00
Robbie Averill
cb7f15a681
Merge branch '4.0' into 4.1
2019-02-19 08:36:41 +07:00
Aaron Carlino
09c539e1c3
Merge branch '4.3' into 4
2019-02-19 12:21:24 +13:00
Maxime Rainville
25bba49923
[SS-2018-021] Fix potential SQL vulnerability in non-scalar value hyrdation
2019-02-19 12:20:24 +13:00
Robbie Averill
7a508af387
Merge pull request #8795 from creative-commoners/pulls/4.3/improve-foreign-key-form-field-scaffolding
...
FIX Caching the result of counting a foreign list for performance
2019-02-12 15:56:11 +07:00
Maxime Rainville
95505db7d6
[SS-2018-021] Fix potential SQL vulnerability in non-scalar value hyrdation
2019-02-12 21:08:09 +13:00
Maxime Rainville
fd90cf6ceb
[SS-2018-021] Fix potential SQL vulnerability in non-scalar value hyrdation
2019-02-12 20:44:17 +13:00
Guy Marriott
0ac43ce025
FIX Caching the result of counting a foreign list for performance
2019-02-12 15:28:03 +13:00
Will Rossiter
d4f6ff98c8
Throw error message when searchable_field does not return a object
...
While upgrading 4.2 to 4.3 the behaviour of GridFieldFilterHeader has changed (example code: https://gist.github.com/wilr/7c59f577e1d072eb66e4c0c84cba6732 ).
This patch doesn’t affect the behaviour (since the explict object is a better API) but it makes upgrading easier to identify the field.
2019-02-12 09:39:27 +13:00
Loz Calver
7c5b73881b
FIX: Prevent null->null being flagged as a value change ( fixes #8774 )
2019-02-06 13:24:18 +13:00
Ingo Schommer
a78573b517
DOC Clarify DataObject->update() use
2019-02-04 20:47:27 +13:00
Guy Marriott
f918dcd36a
FIX Escape wildcard characters when matching database name in databaseExists
2019-01-30 09:31:13 +13:00
Aaron Carlino
ab116cd5d9
Merge branch '4.1' into 4.2
2018-12-12 15:56:53 +13:00
Robbie Averill
74698af402
[SS-2018-020] Ensure that table names are escaped to prevent possible SQL injection
2018-12-11 20:57:18 +13:00
Robbie Averill
8bd747d12a
[SS-2018-020] Ensure that table names are escaped to prevent possible SQL injection
2018-12-11 20:56:55 +13:00
Robbie Averill
fecedc2d98
[SS-2018-020] Ensure that table names are escaped to prevent possible SQL injection
2018-12-11 20:56:40 +13:00
Robbie Averill
48bd335648
[SS-2018-020] Ensure that table names are escaped to prevent possible SQL injection
2018-12-11 20:55:58 +13:00
Loz Calver
3f8551df41
Merge pull request #8462 from sminnee/nondestructive-enum
...
FIX: Make all enums non-destructive, not just ClassName
2018-11-28 16:42:12 +01:00
Guy Marriott
b2dd22fb50
Merge pull request #8506 from creative-commoners/pulls/4.3/all-the-unit-tests
...
NEW Adding a stack more unit tests for logging and some form fields
2018-11-11 10:31:24 +13:00
Sam Minnee
bd5a815909
FIX: Make all enums non-destructive, not just ClassName
...
This change also renders a portion of DBSchemaManager irrelevant, that
destructively “fixes” old values. This is in keeping with the
non-destructive principle of dev/build, and some suggestions to move
away from enum fields altogether.
Fixes https://github.com/silverstripe/silverstripe-framework/issues/1387
2018-11-10 12:10:25 +13:00
Robbie Averill
0f2eebe5d4
NEW Change to variadic calls in ListDecorator and add unit tests
2018-11-09 13:59:14 +02:00
Sam Minnee
0cc39af382
DOC: Added documentation for strict type changes
2018-11-09 11:08:36 +13:00
Sam Minnee
2615399535
FIX: Use PDO’s built-in transaction support in MySQLDatabase.
2018-11-09 10:31:19 +13:00
Sam Minnee
0111b98b18
FIX: Ensure that types are preserved fetching from database
...
This ensures that numeric fields appear in PHP as int/float values
rather than strings, which allows the development of more type-safe PHP
code.
This doesn’t work on the legacy mysql driver and this will now throw
a notice-level error. It requires mysqlnd.
2018-11-09 10:31:19 +13:00
Sam Minnee
67fe41d00b
FIX: Ensure that repeated setting/unsetting doesn’t corrode forceChange()
2018-11-05 23:09:24 +13:00
Sam Minnee
5bb2d9484a
FIX: Update “original” DataObject data to be the content of the last write
...
FIX: Compare to original when determining fields changes
This fixes a number of edge-case issues relating to change detection.
Fixes #8443
Fixes #3821
Fixes #4561
2018-11-05 23:09:24 +13:00
Sam Minnée
536e2d6835
Merge pull request #8511 from jmfederico/patch-1
...
Update comment about locks in MySQL
2018-11-05 22:32:18 +13:00
Michael Strong
55f95b7bc8
BUGFIX many many through not sorting by join table ( #8534 )
...
* BUGFIX many many through not sorting by join table
* #8534 added docs to support many many sorting fix
* #8534 added test cases for many_many default sorting
2018-11-01 14:17:15 +13:00
Michael Strong
7086f2ea3a
BUGFIX many many through not sorting by join table ( #8534 )
...
* BUGFIX many many through not sorting by join table
* #8534 added docs to support many many sorting fix
* #8534 added test cases for many_many default sorting
2018-11-01 13:42:27 +13:00
Robbie Averill
b02a6fa02d
FIX Replace usage of Convert JSON methods with json_encode
2018-10-28 21:15:29 +00:00
Federico Jaramillo Martínez
e9bffe4020
Update comment about locks in MySQL
...
MySQL 5.7.5 and newer allow for multiple lock form the same session. This information is now reflected in the comment.
2018-10-22 22:33:16 -05:00
bergice
a28e2e183e
BUG: Fix enum filter in Search component from adding Any
as a filter
...
Fixes #702
2018-10-19 17:05:12 +13:00
Robbie Averill
437e53f2fe
NEW Some minor refactoring of the PDO and MySQLi connectors
...
Some small performance optimisations (not using callables in loops, switch strval for string
casting), Config call updates and replace call_user_func_array with direct variadic call.
Also removes some redundant else statements after returns.
2018-10-17 12:54:42 +02:00
Robbie Averill
c18e9b1298
Merge pull request #8439 from sminnee/consistent-limit
...
FIX: Make ArrayList::limit() consistent with DataList::limit()
2018-10-16 12:05:11 +02:00
Robbie Averill
516267ed46
Merge pull request #8470 from kinglozzer/suf-fixing-the-suffix
...
FIX: Re-instate missing SS_DATABASE_SUFFIX functionality (fixes #7966 )
2018-10-12 23:11:54 +02:00
Loz Calver
26f2044533
Merge pull request #8437 from sminnee/faster-cleartable-ss4
...
FIX: Use DELETE FROM instead of TRUNCATE for clearTable
2018-10-11 12:32:31 +02:00
Loz Calver
ee21c42011
FIX: Re-instate missing SS_DATABASE_SUFFIX functionality ( fixes #7966 )
2018-10-11 10:50:56 +01:00
Sam Minnee
4740346ed8
FIX: Make ArrayList::limit() consistent with DataList::limit()
...
This makes it easier to swap one fo the other without code breaking.
Since it’s strictly a removed API, I’ve opted to throw a deprecation
note in SS4 rather than throwing an InvalidArgumentException.
Fixes #2949
2018-10-11 21:05:20 +13:00
Loz Calver
e829ad78b1
Merge pull request #8429 from sminnee/fix-2950
...
FIX: Throw deprecation on limit=0
2018-10-08 15:11:52 +02:00
Robbie Averill
98568262f2
Fixed phpcs violations
2018-10-05 16:07:33 +02:00
Sam Minnee
0fc06e51e5
FIX: Drop seconds from DBDatetime::Nice() to restore SS3 behaviour.
...
Note that the medium date format depends on locale, with en_NZ being
resolutely numeric. I’ve updated the test to verify a couple of locales
to make this more obvious.
Fixes #8121
2018-10-04 14:51:24 +13:00
Sam Minnee
638e6ec281
FIX: Throw deprecation notice on limit=0
...
The SS4 behaviour of limit=0 is unlikely to be the SS5 behaviour.
To clear the limit limit=null is recommended.
In addition, there’s a bit tighter type maintenance in the internal
limit data (ensure things are int).
Fixes #2950 .
2018-10-04 10:38:15 +13:00
Robbie Averill
ee24413c30
Merge branch '4.2' into 4
2018-10-03 15:28:05 +02:00