rbygrave
a17683c549
#2307 - Tidy ShutdownManager DatabaseFactory only
2021-08-12 16:32:12 +12:00
rbygrave
eeacad0fb9
#2307 - ENH: Add DatabaseFactory.disableShutdownHook() ... [ alias for ShutdownManager.deregisterShutdownHook() ]
2021-08-12 14:36:14 +12:00
Roland Praml
c8ae3c5ef6
FIX: Changelog-oldValue did not work for Json mutable properties
2021-08-10 09:30:25 +02:00
rbygrave
43213ead05
#2291 - ENH: Explicit option for fast-failing or not fast-failing (skipDataSourceCheck config option)
2021-08-09 15:10:59 +12:00
rbygrave
c610f95b2d
#2293 - Metric hash back to MD5 of sql + name + loc (minus location file and line source) ~= Revert of #2288
2021-08-09 14:05:10 +12:00
rbygrave
fea7de42d5
#2290 - Add MetaTimedMetric locationHash() which is a crc32 checksum of package + type + method (excludes line number)
2021-08-06 14:48:42 +12:00
rbygrave
801d419f51
Refactor io.ebean.meta API, method rename with deprecation
2021-08-06 13:14:29 +12:00
rbygrave
202d785710
Rename hash to sqlHash to better reflect what it is (CRC32 checksum of the sql)
2021-08-06 12:06:43 +12:00
rbygrave
7ca72a39b1
Change query metric hash from MD5 of sql + name + loc to Checksum of sql
2021-08-06 11:52:38 +12:00
rbygrave
2043fdf7e1
#2274 Add DatabaseConfig jsonMutationDetection property setting the global default mode
2021-08-05 13:12:18 +12:00
rbygrave
a06f7bea41
Tidy javadoc for MutableValueInfo
2021-08-05 12:55:42 +12:00
Rob Bygrave and GitHub
604099429e
Merge pull request #2282 from ebean-orm/feature/json-mutable-collections
...
Treat json Jackson collections the same wrt mutation detection
2021-07-30 21:15:04 +12:00
Rob Bygrave and GitHub
11dc7f64ba
Merge pull request #2274 from ebean-orm/feature/json-dirty-detection-md5
...
Add support for JSON bean mutation detection via HASH and SOURCE of JSON string content
2021-07-30 21:11:42 +12:00
rbygrave
ceea705a76
Treat json Jackson collections the same wrt mutation detection
2021-07-30 20:20:03 +12:00
rbygrave
777d322222
#2279 - Remove _ebean_getMarker() from EntityBean interface - not actually required
2021-07-30 14:51:38 +12:00
rbygrave
c66d248e96
Add MutableValueNext to replace mutableContent such that hash compute is only done once
...
Adds MutableValueInfo.nextDirty() to replace the isEqualToJson() method. The next is computed once and stored. BindablePropertyJsonUpdate makes the .mutableNext(propertyIndex) call to move the next MutableValueInfo and return the json content.
2021-07-29 15:42:16 +12:00
rbygrave
2bc5d3d325
Refactor rename MutableHash to MutableValueInfo (and subsequent rename on methods etc)
2021-07-29 13:20:30 +12:00
rbygrave
8832bbc57f
No effective change - format EntityBeanIntercept only
...
Plus adjust timing on SqlQueryCancelTest
2021-07-29 12:43:37 +12:00
rbygrave
92d7a7562f
Tidy only - no functional change to MutableHash and BeanPropertyJsonMapper
2021-07-29 11:49:01 +12:00
Roland Praml
eb70c7e196
some javadoc and refactored getOrigValue
2021-07-28 17:36:53 +02:00
Roland Praml
b497b8635b
some refactor and tidying
2021-07-28 17:22:29 +02:00
Roland Praml
5e595ec5f8
Proof of concept to support also bean change detection / changelog on mutable properties
2021-07-28 14:54:56 +02:00
rbygrave
4aef0ad459
#2275 - Change Query<?> to Query<T> on ExtendedServer exists() method
2021-07-28 17:23:37 +12:00
Rob Bygrave and GitHub
21cd74d0ca
Merge pull request #2273 from ebean-orm/feature/2272
...
#2272 Fix for collection with orphanRemoval (such that equals/hashCode isn't use)
2021-07-28 17:14:09 +12:00
rbygrave
6c262f1df5
JSON bean dirty detection via MD5 of JSON string content
...
- MD5 of json content stored on EntityBeanIntercept for dirty detection
- Only convert to JSON once (at dirty detection time). Store this json content on EntityBeanIntercept to later push to ScalarTypeJsonObjectMapper for bind
Should consider alternative to extend BeanProperty rather than have these if blocks.
2021-07-23 16:50:24 +12:00
rbygrave
f32ace4e5a
Refactor EntityBeanIntercept replacing owner._ebean_getPropertyNames().length with flags.length
2021-07-23 13:54:29 +12:00
rbygrave
e54b7052e0
#2272 Fix for collection with orphanRemoval (such that equals/hashCode isn't use)
...
- Changes ModifyHolder to use IdentityHashMap such that equals/hashcode isn't invoked
- Change SaveManyBeans such that M2M intersection deletes execute before inserts
The SaveManyBeans change is required to pass TestM2MModifyTest. With that test we get a delete/insert pair that we somewhat expect because we clear() the collection. Previously equals/hashCode meant we didn't get that delete/insert pair.
The test changes from containsExactly() to containsOnly() as we now can't guarantee the ordering with IdentityHashMap.
2021-07-23 12:18:06 +12:00
Roland Praml
824cfa27be
Queries are cancelable
2021-06-23 17:11:21 +02:00
rbygrave
8f432aa0a9
#2251 - Transparent persistence of to-many associations (with orphanRemoval)
2021-06-18 16:05:25 +12:00
rbygrave
f4bb4e1b6a
#2254 - OraclePlatform needs columnAliasPrefix 'c' - Regression in version 12.2.1 due to #1967
2021-06-18 12:37:16 +12:00
rbygrave
55bc498f9d
No functional change - refactor QueryIterator to use Iterator.remove()
...
default method
Iterator.remove() has a default implementation that throws UnsupportedOperationException which is what we want. Remove the close() method from QueryIterator and implementations so that we just use the Iterator.remove() default implementation.
2021-06-11 10:20:47 +12:00
rbygrave
4e088a40d9
Refactor DbJson Jackson handling adding DatabaseConfig.setJsonDirtyByDefault()
...
Adds the ability to change the default "jsonDirtyByDefault" configuration setting used with DbJson Jackson properties. Currently these default to being assumed dirty and this allows us to change that to be assumed not dirty (which is very likely the better default).
2021-06-11 00:08:03 +12:00
rbygrave
3c36b43449
No effective change - tidy EntityBeanIntercept
2021-06-10 19:26:56 +12:00
rbygrave
37dff62fa9
#2246 - ENH: Add DtoQuery findStream() and findIterate()
2021-06-10 14:55:31 +12:00
rbygrave
4fd462b1c8
#2244 - ENH: Add SQL Server support for transparent encryption via EncryptByPassPhrase, DecryptByPassPhrase
2021-06-10 13:34:33 +12:00
rbygrave
f3af43a9ce
Add support for findEach() on SqlQuery with RowMapper and scalar result
2021-06-09 15:49:48 +12:00
rbygrave
c9120be347
No effective change - tidy only H2HistoryTrigger and H2HistoryDdl
2021-06-04 17:37:37 +12:00
rbygrave
3c4d600187
#2223 #2224 Support BeanMap modification via entrySet() and keySet()
2021-05-23 17:17:34 +12:00
rbygrave
79740accfa
#2233 Fix with setter on ToMany now not invoking lazy loading
...
- ebean-agent changed to not invoke preGetter on ToMany (just like Id)
- EntityBeanIntercept preSetterMany() changed to ensure loading flag set
2021-05-21 08:48:42 +12:00
rbygrave
b17593ba3c
No effective change - tidy BeanList, BeanMap, BeanSet internals
2021-05-20 21:44:07 +12:00
rbygrave
eb00690b30
#2231 - Change OrderBy to not be final to support mocking via Mockito
2021-05-20 14:09:22 +12:00
Robin Bygrave
7f13ac9e5e
#2213 - Support autoPersistUpdates via TxScope
2021-04-08 23:15:49 +12:00
Rob Bygrave and GitHub
4a1374d22d
Merge pull request #2213 from ebean-orm/feature/transparentPersistence
...
Initial experimental support for autoPersistUpdates / "transparent persistence"
2021-04-08 23:03:05 +12:00
rbygrave
59793f3c01
Improve javadoc for Transaction#setGetGeneratedKeys
...
More clearly document the limitation that we can't update beans that don't have id values
2021-04-07 15:50:04 +12:00
Roman Parshikov and GitHub
9b04f20ed3
Fix copy/paste typo
2021-04-06 13:32:57 +08:00
Robin Bygrave
303039735f
Refactor rename transparentPersistence to autoPersistUpdates
2021-04-01 23:04:22 +13:00
Robin Bygrave
6bcf5c6881
Add DatabaseConfig.autoPersistUpdates for experimental "transparent persistence"
2021-04-01 22:57:34 +13:00
Robin Bygrave
a617d58902
Initial experimental support for "transparent persistence"
...
In short, when this is turned on at flush() get any dirty beans held by the PersistenceContext and persist them (always update for these beans)
2021-04-01 14:47:54 +13:00
Robin Bygrave
1bf09ddd38
#2211 - Improve javadoc for queryPlanTTLSeconds
...
Hopefully people understand it is unrelated. Unfortunately we now have some properties with similar names so maybe we need a better name for this sometime in the future.
2021-03-30 23:49:44 +13:00
Robin Bygrave
a8bf27da55
#2211 - Improve query plan capture - Align config property names
...
collectQueryPlans -> queryPlanEnable
collectQueryPlanThresholdMicros -> queryPlanThresholdMicros
properties keys:
ebean.collectQueryPlans -> ebean.queryPlan.enable
ebean.collectQueryPlanThresholdMicros -> ebean.queryPlan.thresholdMicros
This then aligns all the queryPlan related properties together which is important in order to avoid confusion.
2021-03-30 23:44:30 +13:00