Compare commits

...
Author SHA1 Message Date
Rob Bygrave 22de23ddf4 [maven-release-plugin] prepare release ebean-parent-13.5.0 2022-04-28 17:42:05 +12:00
Rob Bygrave 496d9674d2 #2672 - Bump ebean-agent to 13.5.0 for - ToStringBuilder enhancement does not use toString() of the abstract class 2022-04-28 10:50:34 +12:00
Rob Bygrave 4ece9fe6cc Bump to 13.5.0-SNAPSHOT 2022-04-28 10:46:14 +12:00
Rob Bygrave 62f162e4fb Bump to 13.5.0-SNAPSHOT 2022-04-28 10:44:56 +12:00
Rob Bygrave 38803aa7f8 Bump to 13.5.0-SNAPSHOT 2022-04-28 10:33:41 +12:00
Rob Bygrave f9943f14b7 Adjust test ebean.properties 2022-04-28 10:32:27 +12:00
Rob Bygrave 1b24c888ee Put back test jdbc driver for MariaDB ... need to look at changes in newer driver wrt forwardOnlyHintOnFindIterate
That is, forwardOnlyHintOnFindIterate is a hack to support poor MySql jdbc driver behavior but maybe we can remove this
hack in later versions of MariaDB at least
2022-04-27 23:13:28 +12:00
Rob Bygrave 45233e96ab #2673 - Bug introduced in 13.3.1 via #2652 - incorrect binding of history query with SQL2011 standards based queries 2022-04-27 22:48:02 +12:00
Rob Bygrave 517556bfe3 For sql server tests add jdbc parameters ;integratedSecurity=false;trustServerCertificate=true 2022-04-27 20:02:02 +12:00
Rob Bygrave 07101d1528 #2671 - Bump ebean-test-docker to 4.7 2022-04-27 19:53:52 +12:00
Rob Bygrave 9fa1def22b Bump test jdbc drivers 2022-04-27 18:43:27 +12:00
Rob Bygrave dd9d49cfa2 #2671 - Bump ebean-test-docker to 4.7 2022-04-27 18:39:49 +12:00
Rob Bygrave 7680a75ca9 Bump test modules to 13.4.2-SNAPSHOT after release 2022-04-27 09:48:13 +12:00
Rob Bygrave 786286421d [maven-release-plugin] prepare for next development iteration 2022-04-27 09:13:48 +12:00
Rob Bygrave b517551352 [maven-release-plugin] prepare release ebean-parent-13.4.1 2022-04-27 09:13:41 +12:00
Rob Bygrave 507ba7da1c Bump ebean-agent to 13.4.1 2022-04-27 09:09:48 +12:00
Rob Bygrave 835796f614 #2670 - Missing implementation of loadIgnore in ScalarTypePgisBase 2022-04-27 08:43:06 +12:00
Rob Bygrave ab9a6fb69a git push origin masterMerge branch 'FOCONIS-toString-with-map' 2022-04-27 08:35:38 +12:00
Jonas PöhlerandNoemi Szemenyei 4d7a3d135c FIX: StackOverflowError when using recursive relation within Map
(cherry picked from commit d06bc13b4e1e421546f4997900d5fdc6aa980257)
2022-04-26 13:53:51 +02:00
Rob Bygrave 937b15c07a Modify EA builds to use EA,GA rather than specific versions 2022-04-26 09:30:20 +12:00
Rob Bygrave 47cf81fef9 Bump test modules to 13.4.0-SNAPSHOT after release 2022-04-21 13:47:29 +12:00
Rob Bygrave b21123343f [maven-release-plugin] prepare for next development iteration 2022-04-21 13:30:00 +12:00
Rob Bygrave 303f63fe5e [maven-release-plugin] prepare release ebean-parent-13.4.0 2022-04-21 13:29:54 +12:00
Rob Bygrave 59d12c908c Bump ebean-agent to 13.4.0 (no effective change) 2022-04-21 10:38:39 +12:00
Rob Bygrave e736263148 Bump to 13.4.0-SNAPSHOT 2022-04-21 10:36:08 +12:00
Rob Bygrave 72712c0e46 Bump to 13.4.0-SNAPSHOT 2022-04-21 10:29:58 +12:00
Rob Bygrave 5245ef597d Bump to 13.4.0-SNAPSHOT 2022-04-21 10:28:01 +12:00
Rob Bygrave 9d2621d353 #2667 - Bump jedis dependency to 4.2.2 from 4.2.1 2022-04-21 10:20:51 +12:00
Rob BygraveandGitHub 015ef0289f Merge pull request #2666 from ebean-orm/feature/discriminatorString-compareTo
Fix: CompareTo when discriminatorString is null
2022-04-21 09:56:22 +12:00
Rob Bygrave 5b9ca2933f Fix: CompareTo when discriminatorString is null
- Fix for regression introduced by #2646 in version  13.3.1
- Replaces PR #2664
2022-04-21 09:53:06 +12:00
Rob BygraveandGitHub 4ba23ebc22 Merge pull request #2665 from ebean-orm/feature/NodeUsageCollector-Cleaner
NodeUsageCollector migrate from using finalize() to Cleaner
2022-04-21 09:05:30 +12:00
Rob Bygrave cacbee5fd5 Refactor tidy NodeUsageCollector, remove unused loadProperty and unnecessary WeakReference for State.listener 2022-04-21 08:59:53 +12:00
Rob Bygrave e1b9bf62a3 NodeUsageCollector migrate from using finalize() to Cleaner 2022-04-21 08:40:00 +12:00
Rob Bygrave 4d21fbfcf8 #2663 - No effective change - Tidy Query interface with default methods 2022-04-20 21:49:06 +12:00
Rob Bygrave 76b02ff56a Tidy internals, use cls.getDeclaredConstructor().newInstance(); 2022-04-20 21:42:09 +12:00
Rob Bygrave 356af08f68 Tidy internal MTable only for test only constructor (remove @Deprecated) 2022-04-20 21:22:23 +12:00
Rob Bygrave 846afba724 Remove incorrect @Deprecated from internal DefaultOrmQuery 2022-04-20 21:14:44 +12:00
Rob Bygrave 50e13c4c99 Tidy imports only on DeleteIdRequest 2022-04-20 18:50:47 +12:00
Rob BygraveandGitHub 30ec3145ed Merge pull request #2661 from ebean-orm/feature/deprecated-BackgroundExecutor
Remove deprecated methods from BackgroundExecutor, migrate executePeriodically() -> scheduleWithFixedDelay()
2022-04-20 18:35:37 +12:00
Rob Bygrave e20a2269ae Remove deprecated methods from BackgroundExecutor, migrate executePeriodically() -> scheduleWithFixedDelay()
All removed methods are renamed. Migrate to use the renamed method.
2022-04-20 18:34:33 +12:00
Rob Bygrave d6ee67cf4e Remove deprecated methods from BeanPersistRequest, BeanQueryRequest, BeanDeleteIdRequest
All removed methods are renamed. Migrate to use the renamed method.
2022-04-20 18:29:55 +12:00
Rob BygraveandGitHub 3bcb891133 Merge pull request #2660 from ebean-orm/feature/deprecated-event-requests
Remove deprecated methods from BeanPersistRequest, BeanQueryRequest, BeanDeleteIdRequest
2022-04-20 18:27:17 +12:00
Rob Bygrave a270caf605 Remove deprecated methods from BeanPersistRequest, BeanQueryRequest, BeanDeleteIdRequest
All removed methods are renamed. Migrate to use the renamed method.
2022-04-20 18:26:34 +12:00
Rob BygraveandGitHub aaade167e1 Merge pull request #2659 from ebean-orm/feature/deprecated-Transaction
Remove deprecated methods from Transaction, migrate setBatchGetGeneratedKeys() -> setGetGeneratedKeys() etc
2022-04-20 18:16:56 +12:00
Rob Bygrave ffb292dcd5 Remove deprecated methods from Transaction, migrate setBatchGetGeneratedKeys() -> setGetGeneratedKeys() etc
All removed methods are renamed. Migrate to use the renamed method.
2022-04-20 18:15:40 +12:00
Rob BygraveandGitHub 2e799be9e3 Merge pull request #2658 from ebean-orm/feature/deprecated-SpiServer
Remove deprecated methods from SpiServer, migrate getServerConfig() -> config() etc
2022-04-20 18:09:00 +12:00
Rob BygraveandGitHub 3863fa5fc6 Merge pull request #2657 from ebean-orm/feature/deprecated-FetchConfig
Remove deprecated methods from FetchConfig, migrate new FetchConfig().query(50) -> FetchConfig.ofQuery(50)
2022-04-20 18:08:38 +12:00
Rob Bygrave 2490562918 Remove deprecated methods from SpiServer, migrate getServerConfig() -> config() etc
All removed methods are renamed. Migrate to use the renamed method.
2022-04-20 18:07:16 +12:00
Rob BygraveandGitHub d6fe60bb33 Merge pull request #2656 from ebean-orm/feature/deprecated-pairs
Remove deprecated methods from Pairs, migrate setConcatSeparator() -> concatSeparator()
2022-04-20 18:03:22 +12:00
Rob Bygrave a4fc61549f Remove deprecated methods from FetchConfig, migrate new FetchConfig().query(50) -> FetchConfig.ofQuery(50) 2022-04-20 18:02:10 +12:00
Rob Bygrave 354b76e698 Remove deprecated methods from Pairs, migrate setConcatSeparator() -> concatSeparator() 2022-04-20 17:49:02 +12:00
Rob Bygrave f01e60094f #2655 - Remove JndiDataSourceLookup - app perform JNDI lookup if needed 2022-04-20 17:45:25 +12:00
Rob Bygrave 956ebf173e Bump test modules to 13.3.2-SNAPSHOT after release 2022-04-20 12:34:23 +12:00
Rob Bygrave c4eece36d3 [maven-release-plugin] prepare for next development iteration 2022-04-20 12:09:16 +12:00
Rob Bygrave 385867b9f5 [maven-release-plugin] prepare release ebean-parent-13.3.1 2022-04-20 12:09:09 +12:00
Rob Bygrave 4b30c51ff4 Bump ebean-agent 2022-04-20 12:05:14 +12:00
Rob Bygrave 0969e1427b ebean-api module-info, requires static jackson databind (as optional) 2022-04-20 11:01:10 +12:00
Rob Bygrave b2349bb044 Fix test InitDataSourceTest to use public API 2022-04-20 10:50:39 +12:00
Rob Bygrave c766756efe Improve test TestHistoryOneToOne 2022-04-20 10:02:11 +12:00
Rob BygraveandGitHub 0e6c6965f0 Merge pull request #2654 from FOCONIS/file-dirty-detection
Fix: Setting file with same content should not make bean dirty
2022-04-19 22:30:15 +12:00
Rob Bygrave 7a17cd0797 Tidy DefaultDbSqlContext, remove excess space from sql left join, tidy whitespace 2022-04-19 15:44:08 +12:00
Rob Bygrave 56acac9f08 git push origin masterMerge branch 'tobias--failing_parameter' 2022-04-19 15:03:11 +12:00
Rob Bygrave 756e3e4a1c #2651 - @OneToOne with @History, add fix and update tests
Effectively Ebean internally needs to keep a count on the number of times AS OF predicates are added (to joins + top level table). This change moves keeping that count for all joins to DbSqlContext.
2022-04-19 15:02:50 +12:00
Roland Praml 669d004d1b Fix: Setting file with same content should not make bean dirty
(cherry picked from commit 62c4acd36a)
2022-04-14 15:12:45 +02:00
Tobias 67fc7cdb48 Test case for lazy @OneToOne beans with @History
Ebean produces an invalid query when trying to lazy load @OneToOne
from a historical bean. This test asserts working behaviour.
2022-04-14 10:17:45 +02:00
Rob Bygrave 0e548ec1c5 Tidy test module poms 2022-04-13 10:40:55 +12:00
Rob BygraveandGitHub 493e2d7463 Merge pull request #2646 from FOCONIS/sort-inherit
Produce deterministic DDL if @Inheritance is used
2022-04-13 10:29:57 +12:00
Rob BygraveandGitHub ea30c1d43b Merge pull request #2645 from FOCONIS/sort-beancache
NPE executing query with beanCache and order by & clear
2022-04-13 10:23:28 +12:00
Roland Praml 8c800e992d Fix beanCache order by & clear did not work
(cherry picked from commit 4dee827fda)
2022-04-12 13:51:49 +02:00
Rob Bygrave d348794d92 Bump test modules to 13.3.1-SNAPSHOT after release 2022-04-12 21:47:00 +12:00
Rob Bygrave 526e476ba1 [maven-release-plugin] prepare for next development iteration 2022-04-12 21:23:12 +12:00
Rob Bygrave bdc936b63b [maven-release-plugin] prepare release ebean-parent-13.3.0 2022-04-12 21:23:05 +12:00
Roland Praml 3179aa23ea Sort DeployInheritInfo, so that DDL is deterministic
(cherry picked from commit 6412e060e6)
2022-04-12 09:43:16 +02:00
Rob BygraveandGitHub 2aba1835f1 ebean-test - Fix AutoConfigureForTesting to skip configuration for non-default DatabaseConfig (#2644)
#2644 - ebean-test - Fix AutoConfigureForTesting to skip configuration for non-default DatabaseConfig
2022-04-12 17:36:25 +12:00
Rob Bygrave 4b8eadad1c Bump to 13.3.0-SNAPSHOT 2022-04-11 14:00:45 +12:00
Rob Bygrave 0a43b64f71 #2641 - Add a simple integration test for toString() implementation 2022-04-11 13:52:30 +12:00
Rob Bygrave 21c2232d96 #2641 - Bump ebean-agent for toString() implementation 2022-04-11 13:42:56 +12:00
Rob Bygrave 119b2d4638 #2643 - Bump dependencies h2database -> 2.1.212 ebean-test-docker -> 4.6 2022-04-11 12:50:46 +12:00
Rob BygraveandGitHub 5cc2685732 Merge pull request #2642 from ebean-orm/feature/2641-ToStringBuilder
#2641 -  Provide a decent default toString() implementation for entity beans
2022-04-11 12:49:02 +12:00
Rob Bygrave 6d6e417c94 #2641 - toString() - add tests for max beans and max content 2022-04-11 12:27:09 +12:00
Rob Bygrave be2466003d #2641 - toString() - addCollection() firstElement change 2022-04-08 22:30:00 +12:00
Rob Bygrave 183b601be8 #2641 - toString() - Change BeanCollection toString() implementations, suppress unloaded BeanCollections 2022-04-08 18:53:57 +12:00
Rob Bygrave 5a7e8456e1 #2641 - Provide a decent default toString() implementation for entity beans 2022-04-08 17:35:27 +12:00
Rob Bygrave 6e3db70d20 #2640 - ebean-redis - bump jedis dependency to 4.2.1 from 4.2.0 2022-04-08 09:10:12 +12:00
Rob Bygrave 2be34a8eb8 Bump test modules to 13.2.1-SNAPSHOT after release 2022-04-07 18:46:44 +12:00
Rob Bygrave 1c749e55c6 Fix javadoc in DB 2022-04-07 18:45:19 +12:00
Rob Bygrave 73dd4a5648 [maven-release-plugin] prepare for next development iteration 2022-04-07 18:13:48 +12:00
Rob Bygrave 6802fe9e02 [maven-release-plugin] prepare release ebean-parent-13.2.0 2022-04-07 18:13:41 +12:00
Rob Bygrave 6e5e89f155 Bump ebean-agent to 13.2.0 2022-04-07 18:04:45 +12:00
Rob Bygrave aa351e919d Bump to 13.2.0-SNAPSHOT 2022-04-07 18:03:58 +12:00
Rob BygraveandGitHub 857bde645a Merge pull request #2639 from ebean-orm/feature/deprecated_ServerCache
Remove deprecated methods on ServerCache getHitRatio() -> hitRatio(), getStatistics() -> statistics()
2022-04-07 17:04:31 +12:00
Rob Bygrave ff257a272b Remove deprecated methods on ServerCache getHitRatio() -> hitRatio(), getStatistics() -> statistics() 2022-04-07 17:03:04 +12:00
Rob Bygrave e22e5885e2 Bump parent pom to 3.7 (surefire bump) 2022-04-07 16:48:23 +12:00
Rob Bygrave 71892fd2b5 Organise imports only 2022-04-07 16:44:02 +12:00
Rob BygraveandGitHub e41f9a0669 Merge pull request #2638 from ebean-orm/feature/TenantAwareCache
Refactor L2 cache tenant awareness - add TenantAwareCache
2022-04-07 16:43:05 +12:00
Rob Bygrave f5a779e18b Refactor L2 cache tenant awareness - add TenantAwareCache
The design change is to use TenantAwareCache to deal with wrap/unwrap of tenant aware keys, removing any tenant awareness from the underlying cache implementations (DefaultServerCache, redis, hazelcast etc).
2022-04-07 15:26:21 +12:00
Rob Bygrave daf5220766 #2635 Remove deprecated methods from Database - createSqlQuery() -> sqlQuery(), createSqlUpdate() -> sqlUpdate() 2022-04-06 22:36:31 +12:00
Rob BygraveandGitHub 4b5379c80c Merge pull request #2635 from ebean-orm/feature/deprecated_Database
Remove deprecated methods in ebean-api - Database
2022-04-06 22:30:05 +12:00
Rob BygraveandGitHub 51b4f58744 Merge pull request #2634 from ebean-orm/feature/deprecated_DB
Remove deprecated methods in ebean-api - DB
2022-04-06 22:29:27 +12:00
Rob BygraveandGitHub 539dd7c90c Merge pull request #2637 from ebean-orm/feature/2636_remove_CreatedTimestamp
#2636 - Remove deprecated @CreatedTimestamp and @UpdateTimestamp, migrate to @WhenCreated / @WhenModified
2022-04-06 22:25:21 +12:00
Rob Bygrave c7ad5c5981 #2636 - Remove deprecated @CreatedTimestamp and @UpdateTimestamp, migrate to @WhenCreated / @WhenModified 2022-04-06 22:17:33 +12:00
Rob Bygrave 34ce77c17e Bump to 13.1.1-SNAPSHOT after release 2022-04-06 22:10:01 +12:00
Rob Bygrave bee476ecf6 [maven-release-plugin] prepare for next development iteration 2022-04-06 21:55:18 +12:00
Rob Bygrave ddebb8a6b0 [maven-release-plugin] prepare release ebean-parent-13.1.0 2022-04-06 21:55:12 +12:00
Rob Bygrave 690c492ff3 Bump to 13.1.0-SNAPSHOT 2022-04-06 21:51:07 +12:00
Rob Bygrave fe99212596 Bump to 13.1.0-SNAPSHOT 2022-04-06 21:47:19 +12:00
Rob Bygrave 8cbd98757e #2627 - ebean-agent - bump to ASM 9.3, support Java 19 bytecode 2022-04-06 21:39:06 +12:00
Rob BygraveandGitHub 10fa07f59f Merge pull request #2633 from ebean-orm/feature/deprecated_BeanState
Remove deprecated methods in ebean-api - BeanState
2022-04-06 21:34:48 +12:00
Rob BygraveandGitHub ed339c3834 Merge pull request #2632 from ebean-orm/feature/deprecated_SqlUpdate
Remove deprecated methods in ebean-api - SqlUpdate
2022-04-06 21:34:12 +12:00
Rob BygraveandGitHub 741873d077 Merge pull request #2631 from ebean-orm/feature/deprecated_SqlQuery
Remove deprecated methods in ebean-api - SqlQuery
2022-04-06 21:33:40 +12:00
Rob BygraveandGitHub d1e140144c Merge pull request #2630 from ebean-orm/feature/deprecated-serverCacheManager
Remove deprecated methods in ebean-api - ServerCacheManager ServerCacheRegion
2022-04-06 21:32:57 +12:00
Rob BygraveandGitHub 2689376847 Merge pull request #2629 from ebean-orm/feature/deprecated-remove_Meta_Metric_Plugin
Remove deprecated methods from ebean-api  meta metric and plugin packages
2022-04-06 21:32:35 +12:00
Rob BygraveandGitHub cb47d88d32 Merge pull request #2628 from ebean-orm/feature/deprecated-findLargeStream
Remove deprecated findLargeStream(), migrate to findStream()
2022-04-06 21:32:06 +12:00
Rob Bygrave 370f50aebe Remove deprecated methods in ebean-api - Database 2022-04-06 21:05:57 +12:00
Rob Bygrave 22db5abdbe Remove deprecated methods in ebean-api - DB 2022-04-06 21:00:35 +12:00
Rob Bygrave 7f0dc07a6b Remove deprecated methods in ebean-api - BeanState 2022-04-06 20:53:58 +12:00
Rob Bygrave 8636888d65 Remove deprecated methods in ebean-api - SqlUpdate
migrate from -> to
setParams() -> setParameters()
setNextParameter() -> setParameter()
2022-04-06 20:49:23 +12:00
Rob Bygrave 9bb307cce2 Remove deprecated methods in ebean-api - SqlQuery 2022-04-06 20:45:24 +12:00
Rob Bygrave 75dc74eb58 Remove deprecated methods in ebean-api - ServerCacheManager ServerCacheRegion
These methods are deprecated getters, migrate to the associated accessor method.
2022-04-06 20:32:50 +12:00
Rob Bygrave 07e62d9537 Remove deprecated methods in ebean-api - QueryPlanCapture. Migrate getFoo() -> foo()
These methods are deprecated getters, migrate to the associated accessor method.
2022-04-06 20:17:42 +12:00
Rob Bygrave 495af7ae4a Remove deprecated methods in ebean-api - plugin BeanType. Migrate getFoo() -> foo()
These methods are deprecated getters, migrate to the associated accessor method.
2022-04-06 20:09:07 +12:00
Rob Bygrave e7dd5570a5 Remove deprecated methods in ebean-api - meta, metric, plugin. Migrate getFoo() -> foo()
These methods are deprecated getters, migrate to the associated accessor method.
2022-04-06 18:32:52 +12:00
Rob Bygrave 48d7e79b16 Remove deprecated findLargeStream(), migrate to findStream()
findLargeStream() became no longer become needed due to improvements in the persistence context. Migrate to just use findStream() instead.
2022-04-06 18:17:25 +12:00
Rob Bygrave a87897dd46 Update README add EA build badge for ebean-agent 2022-04-06 18:01:47 +12:00
Rob Bygrave 36c3319a24 Tidy API making some classes final 2022-04-06 17:24:11 +12:00
Rob Bygrave c9a04e6983 #2627 - ebean-agent - bump to ASM 9.3, support Java 19 bytecode 2022-04-06 16:31:55 +12:00
Rob BygraveandGitHub d55223f9f5 Merge pull request #2624 from ebean-orm/feature/2623-CurrentTenantProvider
#2623 - CurrentTenantProvider called even when table has no tenantId column specified
2022-04-01 08:58:59 +13:00
Rob Bygrave c4a3f43e0d #2623 - CurrentTenantProvider called even when table has no tenantId column specified 2022-03-31 16:54:45 +13:00
Rob Bygrave 585fb9d849 Bump to 13.0.1-SNAPSHOT in test modules after release 2022-03-31 15:29:01 +13:00
Rob Bygrave 9e54491071 Bump to 13.0.1-SNAPSHOT in test modules after release 2022-03-31 15:10:39 +13:00
Rob Bygrave 0b56aaf991 [maven-release-plugin] prepare for next development iteration 2022-03-31 14:17:10 +13:00
Rob Bygrave 75f0a6815f [maven-release-plugin] prepare release ebean-parent-13.0.0 2022-03-31 14:17:03 +13:00
Rob Bygrave a473c20b24 Bump to 13.0.0-SNAPSHOT 2022-03-31 14:07:32 +13:00
Rob Bygrave 540b414443 Bump to 13.0.0-SNAPSHOT 2022-03-31 14:07:00 +13:00
Rob Bygrave 7dca282eb6 Bump to 13.0.0-SNAPSHOT 2022-03-31 14:04:54 +13:00
Rob BygraveandGitHub de905ccd60 Merge pull request #2622 from ebean-orm/feature/java11-module-path
#2374 - Bump to Java 11 and module-path
2022-03-31 10:13:26 +13:00
Rob Bygrave aa2490cfb4 EA build - remove valhalla due to javadoc error
javadoc: error - The code being documented uses packages in the unnamed module, but the packages defined in https://ebean.io/platforms/ebean-platform-h2/apidocs/ are in named modules.
2022-03-31 09:57:55 +13:00
Rob Bygrave 587d673684 Adding requires com.fasterxml.jackson.annotation and ebean-test needs jupiter as provided scope
Interesting these changes are required for compilation against Java 11, not required for Java 17+.
2022-03-31 09:17:22 +13:00
Rob Bygrave 472db65ac6 Adding requires io.avaje.classpath.scanner; 2022-03-31 09:00:16 +13:00
Rob Bygrave 64e4e674ac ebean-core - Adding requires static com.fasterxml.jackson.annotation; 2022-03-31 08:51:51 +13:00
Rob Bygrave 24d8f38b1d #2374 - Bump to Java 11 and module-path 2022-03-31 08:42:14 +13:00
Rob Bygrave 79be375f54 Modify GH workflows to not build against Java 8, Java 11+ now 2022-03-30 19:04:49 +13:00
Rob BygraveandGitHub e95eae4ee6 Merge pull request #2621 from ebean-orm/feature/platform-modules-2
Refactor extract separate modules for each platform from ebean-api dbplatform
2022-03-30 19:01:22 +13:00
Rob Bygrave e71e16c1ee Refactor extract separate modules for each platform from ebean-api dbplatform 2022-03-30 17:11:36 +13:00
Rob Bygrave 514bba4130 bump versions in test modules after release 2022-03-29 23:04:31 +13:00
Rob Bygrave d31aa2b24c [maven-release-plugin] prepare for next development iteration 2022-03-29 22:49:50 +13:00
Rob Bygrave d834817dc2 [maven-release-plugin] prepare release ebean-parent-12.16.1 2022-03-29 22:49:42 +13:00
Rob Bygrave 4cad515110 #2619 - Lack of setNullParameter() functionality on io.ebean.SqlQuery interface 2022-03-29 22:41:36 +13:00
Rob Bygrave aa89df5f00 Merge branch 'master' of github.com:ebean-orm/ebean 2022-03-29 22:10:54 +13:00
Rob Bygrave 29f7375468 Bump ebean-agent to 12.16.1 2022-03-29 22:10:40 +13:00
Rob BygraveandGitHub 3e4d7c9b5a Merge pull request #2617 from FOCONIS/json-update-existing
ENH: JsonContext accepts a bean as target
2022-03-29 08:38:29 +13:00
Rob BygraveandGitHub fa34c39d92 Merge pull request #2615 from FOCONIS/tidy-code
Tidy, remove unused imports - Suggested changes (no code change)
2022-03-29 08:28:20 +13:00
Roland Praml ffeb630e7e JsonContext accepts a bean as target 2022-03-28 15:38:44 +02:00
Roland Praml 7666775d1a Suggested changes (no code change) 2022-03-28 14:39:12 +02:00
Rob Bygrave f95212eeb3 #2613 - Bump ebean-migration to 12.16.1 2022-03-28 14:36:10 +13:00
Rob Bygrave 5c3b680c8a #2612 - Incorrect DDL generation for MySql on history tables that use quoted identifiers 2022-03-28 13:05:59 +13:00
Rob Bygrave c8bb3c7b57 Fix test ebean-redis ClusterTest such that it allows for background thread sync to redis 2022-03-28 09:23:55 +13:00
Rob Bygrave dcd3bfee4c Fix test ConfigTest such that it doesn't set the RunOnceMarker
When tests are run using for example -Dprops.file=testconfig/ebean-postgres.properties ... then we want ebean-test AutoConfigureForTesting to run and setup the default datasource appropriately. If ConfigTest runs before that then it sets the RunOnceMarker and the default datasource isn't adjusted
2022-03-28 09:12:13 +13:00
Rob Bygrave b85bb5f459 Refactor tests, move some unit tests to ebean-api 2022-03-27 20:31:17 +13:00
Rob Bygrave 426d314e63 Refactor tests, move internal type tests to ebean-core 2022-03-27 20:20:35 +13:00
Rob Bygrave e3e5414157 Refactor tests, move some internal expression tests to ebean-core 2022-03-27 19:55:34 +13:00
Rob Bygrave 28088a5e54 Refactor tests, move some internal deploy tests to ebean-core 2022-03-27 17:44:43 +13:00
Rob Bygrave 2acdf2f4bf Refactor tests, move some internal core tests to ebean-core 2022-03-27 17:06:52 +13:00
Rob Bygrave 785a027dd6 Refactor tests, move some cache tests to ebean-core 2022-03-27 16:49:28 +13:00
Rob Bygrave 88005dbe09 Refactor tests, move changelog tests 2022-03-25 18:44:24 +13:00
Rob Bygrave 88acd8190a Refactor tests, move db migration tests 2022-03-25 18:23:23 +13:00
Rob Bygrave 72963bc9fb Refactor tests, move DbPrimaryTest to ebean-api 2022-03-25 18:07:29 +13:00
Rob BygraveandGitHub 6a552cd7d1 Merge pull request #2610 from FOCONIS/remove-unused-imports
No effective code change: Removed unused imports
2022-03-24 22:53:56 +13:00
Roland Praml c40b9738d1 No effective code change: Removed unused imports 2022-03-24 09:23:39 +01:00
Rob Bygrave 84a64f9640 Refactor tests, move BaseTestCase and annotations @ForPlatform @IgnorePlatform 2022-03-24 18:52:37 +13:00
Rob Bygrave e4c06432a0 Move some more unit tests from ebean-test back to ebean-core 2022-03-24 18:48:59 +13:00
Rob Bygrave f58d6038c7 Move some unit tests from ebean-test back to ebean-core 2022-03-24 18:21:48 +13:00
Rob Bygrave f270c52c00 Bump maven-compiler-plugin 2022-03-24 16:58:41 +13:00
Rob Bygrave e6ea85a193 #2609 - Fix module-info export io.ebean.config.dbplatform.yugabyte 2022-03-24 16:51:18 +13:00
Rob Bygrave 17f408681c No functional change - final methods on internal RsetDataReader 2022-03-24 12:01:22 +13:00
Rob Bygrave fcf6f5f384 No effective change - typo in javadoc 2022-03-24 11:32:50 +13:00
Rob Bygrave d98c49e266 Update test generated db2 index migration files 2022-03-23 22:31:32 +13:00
Rob Bygrave 79213e7194 Merge branch 'master' of github.com:ebean-orm/ebean 2022-03-23 22:29:16 +13:00
Rob Bygrave bc1f7040da Merge branch 'FOCONIS-tmp-tablespace' 2022-03-23 22:27:44 +13:00
Rob Bygrave f157c2da7f Merge branch 'tmp-tablespace' of https://github.com/FOCONIS/ebean into FOCONIS-tmp-tablespace 2022-03-23 22:27:17 +13:00
Rob BygraveandGitHub 33b18fb837 Merge pull request #2607 from FOCONIS/some-todos
DDL: Support schema in history entities and ignore case in DB2 procedures
2022-03-23 16:46:31 +13:00
Rob BygraveandGitHub 1f8a6b0668 Update README.md 2022-03-23 13:16:17 +13:00
Rob BygraveandGitHub 85a971323a Update early access build badges 2022-03-23 13:10:57 +13:00
Rob Bygrave f1b626a182 Merge branch 'master' of github.com:ebean-orm/ebean 2022-03-23 13:00:44 +13:00
Rob Bygrave cc043316ee Update EA build name 2022-03-23 13:00:30 +13:00
Rob BygraveandGitHub c656436d09 Update README.md 2022-03-23 12:31:22 +13:00
Roland Praml 250e66819b Reference scripts 2022-03-22 17:05:04 +01:00
Roland Praml 3e4cc3b3d6 Add tablespace support for DB2 2022-03-22 17:03:38 +01:00
Roland Praml f1950d479e Added testcase with upper and lower case characters 2022-03-22 10:43:34 +01:00
Roland Praml 00686fcccf DB2: ignore case in "drop if exists" checks 2022-03-22 09:58:20 +01:00
Roland Praml 4fe8ef2b23 Support schema in history-entities 2022-03-22 09:42:19 +01:00
Rob Bygrave baddc76961 Refactor tidy grammar in server/expression classes 2022-03-22 16:48:47 +13:00
Rob Bygrave de4140aaac #2600 - Pending drops migration with the same version of the target migration cause trouble 2022-03-22 16:20:06 +13:00
Rob BygraveandGitHub 66aa772f4a Merge pull request #2603 from FOCONIS/remove-lowertablename
Refactored DDL generation to correctly handle quoted identifiers
2022-03-22 09:02:42 +13:00
Rob BygraveandGitHub f745cfaab3 Merge pull request #2604 from FOCONIS/remove-lowertablename2
Remove LowerTableName
2022-03-22 08:38:14 +13:00
Roland Praml 8640b4a1a0 Fix: Check if pendingDrops are used correctly 2022-03-21 15:20:41 +01:00
Roland Praml 5e87706055 Fix: check newTable for history flag 2022-03-21 15:05:29 +01:00
Roland Praml 0d765d6583 Reference scripts 2022-03-21 15:02:06 +01:00
Roland Praml 2a924d8d32 Add more quotes, for history tables 2022-03-21 15:01:43 +01:00
Roland Praml 04d2a20945 Add testcase, that uses all kinds of reserved keywords 2022-03-21 13:48:48 +01:00
Roland Praml 4077d906d1 ADD: Support for quoted identifiers 2022-03-21 13:34:29 +01:00
Roland Praml 7e3fbbba62 Refactor: use normalized table names for history 2022-03-21 11:52:00 +01:00
Roland Praml 3db9a17c6a Refactored DbTriggerBasedHistory: always use historyTableName 2022-03-21 11:15:13 +01:00
Roland Praml 327babbfa2 Reference scripts 2022-03-21 11:08:54 +01:00
Roland Praml 0a1acb3f9b Fix: DB2-History table must be an exact copy 2022-03-21 11:08:41 +01:00
Roland Praml a2e27b9e00 fixed test case 2022-03-21 11:02:14 +01:00
Roland Praml a8ad93823a Removed 'lowerTableName' and 'lowerColumnName' 2022-03-18 08:56:43 +01:00
Rob Bygrave 5eb790e54d Merge branch 'master' of github.com:ebean-orm/ebean 2022-03-18 11:08:29 +13:00
Rob Bygrave c44ae96e09 Add badge to README for JDK EA 2022-03-18 11:08:11 +13:00
Rob BygraveandGitHub d540bf4d16 Merge pull request #2601 from FOCONIS/ddl-refactor9
Extended @Column support for DB2
2022-03-18 09:25:56 +13:00
Roland Praml ab6f5daec3 FIX LargeValueInsert-Test for DB2 2022-03-17 13:26:54 +01:00
Roland Praml d7a7ef097b Reference scripts 2022-03-17 13:14:11 +01:00
Roland Praml 8f746196ab Support for extra colum options for DB2 2022-03-17 13:11:48 +01:00
Roland Praml eb1ed0bdd0 DbColumDefault must be returned although if individual columnDefinition is specified (cases no DDL change)
We support optional platform columnDefinitions now. E.g. "db2;clob(64M);" - so we must not ignore @DbDefault for all other platforms
2022-03-17 13:07:52 +01:00
Roland Praml 37ab71cb7c Reference scripts 2022-03-17 13:03:55 +01:00
Roland Praml 74720a840d DbMigration: Do only real type changes 2022-03-17 13:01:25 +01:00
Rob Bygrave 923f83cafb Bump after release to 12.16.1-SNAPSHOT 2022-03-17 21:37:56 +13:00
Rob Bygrave 2faaf5f186 [maven-release-plugin] prepare for next development iteration 2022-03-16 22:49:23 +13:00
Rob Bygrave ef8d9c7eb0 [maven-release-plugin] prepare release ebean-parent-12.16.0 2022-03-16 22:49:16 +13:00
Rob Bygrave a464c763d0 Bump parent pom 2022-03-16 22:45:57 +13:00
Rob Bygrave d4d1e571d3 Fix test assert for multi-database 2022-03-16 22:37:54 +13:00
Rob Bygrave 92e85e32a2 #2598 - H2 + @Lob String fails with - Error[Value too long for column "CHARACTER VARYING": "... (1048577)" [22001-210]] 2022-03-16 22:13:52 +13:00
Rob Bygrave ff1b01e5ca Bump agent to 12.16.0 + test and provided dependencies 2022-03-16 22:13:07 +13:00
Rob Bygrave 327f25c568 No functional change - refactor tidy dealing with some internal warnings
protected not needed on final classes
2022-03-16 18:51:12 +13:00
Rob BygraveandGitHub 00a1324c52 Merge pull request #2596 from FOCONIS/ddl-refactor8
DDl-Refactor: Add DB2 Reorg support and history support
2022-03-16 18:47:58 +13:00
Rob Bygrave 75b9df942c No effective change - tidy TestWithCacheAndLazyLoad 2022-03-16 18:38:47 +13:00
Rob Bygrave 946b390037 Merge branch 'FOCONIS-lazyload-npe' 2022-03-16 18:37:48 +13:00
Rob Bygrave 3a1e1e23f5 Merge branch 'lazyload-npe' of https://github.com/FOCONIS/ebean into FOCONIS-lazyload-npe 2022-03-16 18:14:22 +13:00
Rob Bygrave d9ea465102 Support running tests against java 19 2022-03-16 18:02:07 +13:00
Rob Bygrave 3bc7f061eb Bump test dependencies for junit, assertj, mockito 2022-03-16 17:55:37 +13:00
Rob Bygrave 0bc07d38b2 Add Oracle GH workflow for JDK EA 18,19,loom,valhalla,metropolis,panama 2022-03-16 12:13:29 +13:00
Roland Praml 79f6d6d0f0 Ignored query plans for DB2 2022-03-15 17:18:34 +01:00
Roland Praml 782e41098d enabled history tests 2022-03-15 16:56:00 +01:00
Roland Praml 0225fddf6d FIX: AlterColumnTest 2022-03-15 16:31:43 +01:00
Roland Praml be3e08018e Reference Scripts 2022-03-15 15:59:50 +01:00
Roland Praml c9204eed3f DB2: HistorySupport added 2022-03-15 15:59:33 +01:00
Noemi Szemenyei edb6a0ebe2 performance boost list --> set
(cherry picked from commit 2478aded70)
2022-03-15 13:21:10 +01:00
Noemi Szemenyei 826b507b77 Suggested fix
(cherry picked from commit 52ca271a13)
2022-03-15 13:21:02 +01:00
Noemi Szemenyei 8ad8f47c6b Created failing test case
(cherry picked from commit 2b21588c90)
2022-03-15 13:20:16 +01:00
Rob BygraveandGitHub 5944777a13 Merge pull request #2594 from FOCONIS/ddl-refactor7
[DDL-Refactor] History table generation
2022-03-15 09:23:30 +13:00
Roland Praml 05a1b0d64e DB2: Migration is working now 2022-03-14 16:31:34 +01:00
Roland Praml 4d62958645 Updated DDL scripts to support notnull -> null transitions 2022-03-14 14:13:56 +01:00
Roland Praml 610a8b2df6 FIX: notNull -> null transition must be applied also to history 2022-03-14 14:13:10 +01:00
Roland Praml 5b8bb41598 Postgres: Drops history support during alter and restores it after that 2022-03-14 14:08:42 +01:00
Roland Praml 9e16d955ae Sqlserver: no effective code change 2022-03-14 14:06:25 +01:00
Roland Praml 197bb0509a Nuodb: no effective ddl change 2022-03-14 14:05:42 +01:00
Roland Praml 5536aeb829 Mysql: locks only one table at once 2022-03-14 14:04:59 +01:00
Roland Praml d629fb2dbd MariaDB uses '@@system_versioning_alter_history = 1' now. Removed obsolete "lock tables" statements 2022-03-14 14:01:21 +01:00
Roland Praml 10c01574d2 H2: No effective change Statements reordered 2022-03-14 13:12:24 +01:00
Roland Praml cfad20c8e1 Refactored Hisotry generation 2022-03-14 13:11:00 +01:00
Rob Bygrave 0ea375b4fc Merge branch 'FOCONIS-ddl-clickhouse' 2022-03-14 16:54:07 +13:00
Rob Bygrave 71fce1b4c5 #2575 Tidy up for [DDL-ClickHouse] fixes for ClickHouse platform 2022-03-14 16:53:51 +13:00
Rob Bygrave db60065389 Merge branch 'ddl-clickhouse' of https://github.com/FOCONIS/ebean into FOCONIS-ddl-clickhouse 2022-03-14 16:51:27 +13:00
Rob Bygrave d3a765a532 Tidy whitespace only, no effective change 2022-03-14 16:19:02 +13:00
Rob Bygrave fd4be0ca59 #2593 - Tidy SqlTreeBuilder to not add duplicate BeanProperties 2022-03-14 16:16:14 +13:00
Rob Bygrave 267a81b792 #25890 - Tidy only, no effective change for BackgroundExecutorWrapper 2022-03-14 15:46:21 +13:00
Rob Bygrave 1615beadd1 Merge branch 'master' of github.com:ebean-orm/ebean 2022-03-14 15:37:52 +13:00
Rob Bygrave a3e5c3de72 Merge branch 'FOCONIS-Bug-wrong-join-inheritance-dbforeignkey' 2022-03-14 15:37:38 +13:00
Rob Bygrave 267b1b7303 #2580 - Fix for Wrong join in query with @Inheritance
Effectively delays an extra join added via BeanPropertyAssocOne with inheritance, such that this only occurs if a SqlTreeNode child doesn't add the join.
2022-03-14 15:37:12 +13:00
Rob Bygrave c902caed24 Fix is to delay the extra join added via BeanPropertyAssocOne until after the children nodes have joined.
In this way the join is ONLY added if not already done so via a child node (SqlTreeNode).
2022-03-14 15:32:42 +13:00
Rob BygraveandGitHub 662666e1a4 Merge pull request #2590 from FOCONIS/background-executor-wrapper
Provide custom BackgroundExecutorWrapper to pass thread locals
2022-03-14 10:40:37 +13:00
Rob BygraveandGitHub 394f245e33 Merge pull request #2591 from FOCONIS/ddl-refactor6
[DDL-refactor] Sorted the statements, so that they are going to the correct buffers
2022-03-14 09:17:17 +13:00
Roland Praml 89da952b15 updated scripts 2022-03-11 15:35:15 +01:00
Roland Praml d927b8c2c2 [DDL-refactor] Sorted the statements, so that they are going to the correct buffers 2022-03-11 15:34:37 +01:00
Noemi Szemenyei 6867c4568c fix db.shutdown()
(cherry picked from commit 33d17d0f49)
2022-03-11 13:32:08 +01:00
Noemi Szemenyei e0e572a8b4 update
(cherry picked from commit dab8ed8a3b)
2022-03-11 13:31:58 +01:00
Noemi Szemenyei 3c7555de36 Provide custom BackgroundExecutorWrapper to pass thread locals
(cherry picked from commit 336accf447)
2022-03-11 13:31:50 +01:00
Rob BygraveandGitHub 75662aac5c Merge pull request #2589 from FOCONIS/ddl-refactor5
No effective DDL change - refactor whitespace and add buffer comments
2022-03-11 10:38:14 +13:00
Roland Praml e4ddcbd40a Reference scripts 2022-03-10 13:39:59 +01:00
Roland Praml a8f390c3b7 No effective DDL change - removed obsolete whitespaces 2022-03-10 13:31:12 +01:00
Roland Praml f1b196cf2e FIX: tests and pushed reference ddl scripts 2022-03-10 13:24:39 +01:00
Roland Praml 04675ea76b No effective DDL change, just added buffer comments in DDL 2022-03-10 13:24:01 +01:00
Rob Bygrave 8e44ad71e8 Merge branch 'Bug-wrong-join-inheritance-dbforeignkey' of https://github.com/FOCONIS/ebean into FOCONIS-Bug-wrong-join-inheritance-dbforeignkey 2022-03-10 16:24:14 +13:00
Rob Bygrave febd56c9c0 #2581 - SoftDelete on @OneToMany is ignored after refresh() (since 12.11.5) 2022-03-10 16:19:11 +13:00
Rob Bygrave 0d3649853a Bump provided optional Jackson dependency to 2.13.2 2022-03-10 15:33:33 +13:00
Rob Bygrave beed67567a #2588 - [postgis-jdbc] Bump postgis-jdbc dependency from 2.2.1 to 2.5.1 2022-03-10 15:33:00 +13:00
Rob BygraveandGitHub 0fe0803374 Merge pull request #2587 from FOCONIS/ddl-refactor4
[Ddl refactor] Alter Table changes are grouped by table name.
2022-03-10 13:00:44 +13:00
Roland Praml 5fd7aca3d9 Fixed test cases 2022-03-09 16:17:04 +01:00
Rob BygraveandGitHub 348fecddf7 Merge pull request #2586 from FOCONIS/ddl-refactor3
[Clickhouse] Refactored columnNotNull
2022-03-09 22:10:59 +13:00
Rob BygraveandGitHub b333449d84 Merge pull request #2584 from FOCONIS/hazelcast-unmodifiable-map
Small code change for Hazelcast 4.1.5
2022-03-09 16:10:39 +13:00
Rob BygraveandGitHub 87a97c2889 Merge pull request #2585 from FOCONIS/ddl-refactor2
Fix DDL Default handling & Prepared PlatformDdl to to have only one 'alterColumn' method
2022-03-09 16:07:30 +13:00
Roland Praml 790147e42d Reviewed DDL changes - all changes are plausible 2022-03-08 17:28:39 +01:00
Roland Praml 3a93abaa7f Only moves in DDL (checked with git -c color.diff.newMoved=black -c color.diff.oldMoved=black diff --color-moved=plain '*.sql') 2022-03-08 12:43:54 +01:00
Roland Praml 1049d951d9 Code changes to group alterTables by tableName 2022-03-08 12:39:44 +01:00
Roland Praml c3bdac5271 [Clickhouse] Refactored columnNotNull 2022-03-07 16:41:27 +01:00
Roland Praml 9bcba0b80d Sql-scripts 2022-03-07 15:40:45 +01:00
Roland Praml 1529a2f12b Prepared PlatformDdl to to have only one 'alterColumn' method (required for further refactoring) 2022-03-07 15:35:36 +01:00
Noemi Szemenyei b41b6da40e iterator.remove() is not needed 2022-03-04 08:20:44 +01:00
Rob BygraveandGitHub 4285cbaeb2 Merge pull request #2583 from ebean-orm/feature/2582-bg-executor
#2582 - Fix for regression, BackgroundExecutor is bounded (since 12.6.2)
2022-03-04 11:15:23 +13:00
Rob BygraveandGitHub 26fd7c5498 Merge pull request #2578 from ebean-orm/feature/bump-ddl-runner
Bump to ebean-ddl-runner 1.3
2022-03-04 11:14:35 +13:00
Rob BygraveandGitHub 6ec4e4b965 Merge branch 'master' into feature/bump-ddl-runner 2022-03-04 10:26:17 +13:00
Rob Bygrave e3a20a351d #2582 - Fix for regression, BackgroundExecutor is bounded (since 12.6.2)
The change for #2121 brought in a regression where the scheduledExecutorService was used for processing ALL submitted tasks (not just scheduled ones) and is a bounded executor service.  Previously non-scheduled tasks went to a "newCachedThreadPool" based executor service and with this change we are moving back to that (via restoring and using the DaemonExecutorService for those tasks).
2022-03-04 10:21:56 +13:00
Alexander Wagner 9b8f7be98f Bug: Wrong join in query with @Inheritance and @DbForeignKey
(cherry picked from commit 4bcadbb4da3f0defbcc58802e621442d948df38a)
2022-03-02 11:50:57 +01:00
Rob Bygrave 61f5442e3b #2579 - Bump to ebean-migration 12.16.0, support both basePlatform and platform for finding/running migrations
Fix ebean-migration-auto.version to 1.2
2022-03-02 12:30:32 +13:00
Rob Bygrave c5acd31da4 #2579 - Bump to ebean-migration 12.16.0, support both basePlatform and platform for finding/running migrations 2022-03-02 12:25:57 +13:00
Rob Bygrave 49fde7654e Bump to 12.16.0-SNAPSHOT 2022-03-02 12:17:38 +13:00
Rob Bygrave 05338531ed Bump versions after release 2022-03-01 23:01:09 +13:00
Rob Bygrave eb4d906814 [maven-release-plugin] prepare for next development iteration 2022-03-01 22:47:01 +13:00
Rob Bygrave 2a96a59deb [maven-release-plugin] prepare release ebean-parent-12.15.1 2022-03-01 22:46:55 +13:00
Rob Bygrave f571da5154 Bump to ebean-ddl-runner 1.3 2022-03-01 22:35:40 +13:00
Rob Bygrave ffad9abeef #2577 - Refactor internals remove no longer needed DdlAutoCommit platform option 2022-03-01 22:32:09 +13:00
Rob Bygrave e8df81d78a DbMigrationTest ignore Yugabyte at this stage 2022-03-01 21:29:17 +13:00
Rob Bygrave ed19a96801 Tidy DbMigrationTest after fix for #2576 2022-03-01 21:01:48 +13:00
Rob Bygrave 6d27e30b88 [H2] Use LocalDateTime in H2HistoryTrigger with microsecond precision - fix DbMigrationTest 2022-03-01 20:52:39 +13:00
Rob Bygrave 52aa1a2d91 For Multi-jdk build failure - tweak DbMigrationTest, add another hack 1 milli sleep 2022-03-01 20:30:49 +13:00
Rob Bygrave ddbd816f6d For Multi-jdk build failure - tweak DbMigrationTest, add hack comment 2022-03-01 16:23:58 +13:00
Rob Bygrave 00940c2b31 For Multi-jdk build failure - tweak DbMigrationTest 2022-03-01 12:10:28 +13:00
Rob Bygrave 708ec64893 For Multi-jdk build failure - check if H2HistoryTrigger should bump 1ms if needed 2022-03-01 11:59:37 +13:00
Rob Bygrave d0dd2d8203 Add a more useful implementation for Version.toString() 2022-03-01 11:34:07 +13:00
Rob Bygrave faa921ac27 Update DbMigrationTest to include platform for some asserts 2022-03-01 11:22:40 +13:00
Rob Bygrave f2a99c7b01 Update DbMigrationTest to include platform for some asserts 2022-03-01 11:03:37 +13:00
Rob BygraveandGitHub b6ea9df444 Merge pull request #2574 from FOCONIS/ddl-cockroach
[DDL-Cockroach] Fixes for Cockroach platform
2022-02-28 11:25:21 +13:00
Rob BygraveandGitHub e6cde5862d Merge pull request #2573 from FOCONIS/ddl-hana
[DDL-hana] HANA always requires stored procedures
2022-02-28 11:24:05 +13:00
Rob BygraveandGitHub dec927bf9a Merge pull request #2571 from FOCONIS/ddl-sqlite
[DDL-SqLite] Modified SqLite platform to generate at least non failing migration scripts
2022-02-28 11:20:20 +13:00
Rob BygraveandGitHub ae41471c74 Merge pull request #2570 from FOCONIS/ddl-oracle-fixes
[DDL-Oracle] Fix drop default and ignore erros when trying to drop non existent objects
2022-02-28 11:19:43 +13:00
Rob BygraveandGitHub 843d9d2700 Merge pull request #2569 from FOCONIS/ddl-extend-test
[DDL-common] Extended DbMigrationTest to run on all platforms
2022-02-28 11:16:59 +13:00
Roland Praml 475fd38be5 FIX: PlatformDdl-tests 2022-02-25 15:44:54 +01:00
Roland Praml b88e4a35f8 Ddl fixes for clickhouse platform 2022-02-25 12:10:54 +01:00
Roland Praml c82f3783f0 Fixes for Cockroach platform 2022-02-25 12:10:06 +01:00
Roland Praml bf99f9d08d Fix: HANA always requires stored procedures (similar to SqlServer), Fix: default value on intermediate alters 2022-02-25 12:09:09 +01:00
Roland Praml f30c3869b6 Modified SqLite platform to generate at least non failing migration scripts.
Note: If you want to alter a table in SqLite, the best option is to recreate the table with the new layout
2022-02-25 12:07:06 +01:00
Roland Praml 3b32e4c018 Oracle: Fix DB name to match with docker container 2022-02-25 12:06:09 +01:00
Roland Praml e0669e9a9f DDL generation fixes fpr oracle platform (fix drop default, do "drop if exists" with error handlers) 2022-02-25 12:05:53 +01:00
Roland Praml 95b1488aed Extended DbMigrationTest to run on all platforms 2022-02-25 12:04:24 +01:00
Rob BygraveandGitHub 897a97d415 Merge pull request #2568 from FOCONIS/Tidy-up-code
Removed unused imports and add missing Override statements (no effective code change)
2022-02-25 14:29:30 +13:00
Rob BygraveandGitHub 1d71f617c2 Merge pull request #2567 from FOCONIS/tidy-up-ddl-generation
Tidy up ddl generation (no effective code change)
2022-02-25 14:28:20 +13:00
Roland Praml 1ca5789112 Removed unused imports and add missing Override statements (no effective code change) 2022-02-24 08:03:26 +01:00
Roland Praml 70ec8a3891 Removed unused code 2022-02-23 11:17:16 +01:00
Roland Praml 2dfa9d2e77 No effective code change: Normalized "DdlWrite write" to "DdlWrite writer" 2022-02-23 11:14:22 +01:00
Rob Bygrave 29a5a13dd9 Merge branch 'master' of github.com:ebean-orm/ebean 2022-02-22 14:52:14 +13:00
Rob Bygrave 7a3494ebd9 Update to the newer Apache2 licence text (from older Apache2 license text) 2022-02-22 14:51:54 +13:00
Rob BygraveandGitHub 915bf29eaf Merge pull request #2557 from FOCONIS/add-reorg-support
Refactored DDL generation
2022-02-22 13:19:51 +13:00
Rob Bygrave dad4837b50 No change - format code only 2022-02-22 13:15:28 +13:00
Rob BygraveandGitHub 8fa8c687e9 Merge pull request #2563 from FOCONIS/platform-specific-columndefinition
Different ColumnDefinition for different platforms
2022-02-22 13:13:43 +13:00
Rob Bygrave aff54f5cf7 Merge branch 'FOCONIS-bug-save-one-to-one-version-cascade' 2022-02-22 13:08:05 +13:00
Rob Bygrave fa0336a404 Merge branch 'bug-save-one-to-one-version-cascade' of https://github.com/FOCONIS/ebean into FOCONIS-bug-save-one-to-one-version-cascade 2022-02-22 13:00:41 +13:00
Noemi Szemenyei 7ccea9ff7e migrations 2022-02-18 10:03:04 +01:00
Noemi Szemenyei c2e4f862bc default columnDef should be calculated from ebean 2022-02-18 10:02:48 +01:00
Roland Praml 36bda117a6 No effective code change: Tidy up (organize imports/fix java warnings) 2022-02-17 14:47:05 +01:00
Roland Praml 08838770e9 No effective code change: Removed obsolete IOExceptions 2022-02-17 14:45:02 +01:00
Noemi Szemenyei 137a7950ff new migrations 2022-02-17 09:53:26 +01:00
Noemi Szemenyei e3980a14a2 review changes 2022-02-17 09:52:23 +01:00
Rob BygraveandGitHub ca9f48d019 Merge pull request #2562 from ebean-orm/dependabot/maven/ebean-test/org.postgresql-postgresql-42.3.3
Bump postgresql from 42.3.2 to 42.3.3 in /ebean-test
2022-02-17 21:44:01 +13:00
Rob BygraveandGitHub e83e6b0f8f Merge pull request #2561 from ebean-orm/dependabot/maven/ebean-core/org.postgresql-postgresql-42.3.3
Bump postgresql from 42.3.2 to 42.3.3 in /ebean-core
2022-02-17 21:43:49 +13:00
Rob BygraveandGitHub 7d18329c18 Merge pull request #2560 from ebean-orm/dependabot/maven/ebean-postgis/org.postgresql-postgresql-42.3.3
Bump postgresql from 42.3.2 to 42.3.3 in /ebean-postgis
2022-02-17 21:43:37 +13:00
Noemi Szemenyei c6fa60f28c migrations 2022-02-17 08:16:35 +01:00
Noemi Szemenyei 3ab7ebe5e6 new property for test 2022-02-17 08:14:51 +01:00
Noemi Szemenyei 48e875714b solution v1
(cherry picked from commit 3d83c6bd0e2bcca6fc04f73ce08983266b9df636)
2022-02-17 08:13:39 +01:00
dependabot[bot]andGitHub 5ba93ed927 Bump postgresql from 42.3.2 to 42.3.3 in /ebean-test
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.2 to 42.3.3.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.2...REL42.3.3)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-16 01:19:58 +00:00
dependabot[bot]andGitHub 9974102f1a Bump postgresql from 42.3.2 to 42.3.3 in /ebean-core
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.2 to 42.3.3.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.2...REL42.3.3)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-16 01:19:22 +00:00
dependabot[bot]andGitHub ba27e09179 Bump postgresql from 42.3.2 to 42.3.3 in /ebean-postgis
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.2 to 42.3.3.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.2...REL42.3.3)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-16 01:18:59 +00:00
Alexander Wagner 90066eee0c Possible fix 2022-02-11 10:31:24 +01:00
Roland Praml 53c8827a52 Refactor: remove MConfiguration from BaseDdlBuffer (it is unused, and may/should be re-added to the DdlWrite when needed) 2022-02-08 16:21:25 +01:00
Alexander Wagner 3bb6f0ca65 Bug: save with cascade of @OneToOne + @Version model sets version to 1
(cherry picked from commit 1570e1800d)
2022-02-08 16:08:13 +01:00
Roland Praml 6e5eb6b963 Refactor: BaseDdlBuffer uses StringBuilder instead of StringWriter. Makes IOException obsolete. 2022-02-08 16:04:14 +01:00
Rob BygraveandGitHub 7bea0d0eb2 Merge pull request #2551 from FOCONIS/move-testcase
Move DbMigration-Tests to ebean-test
2022-02-08 10:23:40 +13:00
Rob BygraveandGitHub 5a07a54544 Merge pull request #2555 from FOCONIS/clickhouse-dbarray-type-missing
ClickHouseDb - decimal[] array type missing
2022-02-08 10:12:46 +13:00
Rob BygraveandGitHub 684508b7ea Merge pull request #2554 from FOCONIS/add-stored-procs-mysql
generate mysql StoredProcs for column deletion also for mariadb
2022-02-08 10:12:13 +13:00
Rob BygraveandGitHub ab72fd97b9 Merge pull request #2553 from FOCONIS/add-yugabyte-platform
Add Yugabyte-Platform to DefaultDbMigration
2022-02-08 10:11:33 +13:00
Rob BygraveandGitHub 8486415249 Merge pull request #2552 from FOCONIS/flaky-dtimedmetrictest
DTimedMetricTest fails sometimes (flaky test)
2022-02-08 10:10:36 +13:00
Roland Praml 6a74b84b8c Comments and mysql fixes 2022-02-07 17:07:01 +01:00
Roland Praml 999be3e0a7 ClickHouseDb - decimal[] array type missing 2022-02-07 16:40:11 +01:00
Roland Praml a656b55526 generate mysql StoredProcs for column deletion also for mariadb 2022-02-07 16:37:15 +01:00
Roland Praml dabb1451e9 Add Yugabyte-Platform to DefaultDbMigration 2022-02-07 16:34:39 +01:00
Roland Praml cde00650ca DTimedMetricTest fails sometimes 2022-02-07 16:27:09 +01:00
Roland Praml 6b96bea480 Disabled Yugabyte 2022-02-07 16:23:50 +01:00
Roland Praml a731bfdfaf Multi-platform tests 2022-02-07 16:04:59 +01:00
Roland Praml 0ee153d6bc Add: ElementCollection 2022-02-07 14:08:26 +01:00
Roland Praml cb89b903fd Regenerated scripts & tests 2022-02-07 14:07:10 +01:00
Roland Praml a93e2e05c5 Moved DbMigrationtests test to "ebean-tests" 2022-02-07 11:55:41 +01:00
Rob BygraveandGitHub 05ad6da7e6 Merge pull request #2550 from ebean-orm/feature/cockroach-like
CockroachDB - Now supports LIKE ESCAPE and no longer needs Autocommit for DDL
2022-02-04 17:02:33 +13:00
Rob Bygrave 0d3ea9626c CockroachDB - Now supports LIKE ESCAPE and no longer needs Autocommit for DDL 2022-02-04 17:02:01 +13:00
Rob Bygrave b8b83c2ec8 Update more tests for CockroachDB 2022-02-04 16:59:16 +13:00
Rob Bygrave d05dfae1d7 Merge branch 'master' of github.com:ebean-orm/ebean 2022-02-04 15:55:26 +13:00
Rob Bygrave d0fcd4a13a #2549 - Fix DefaultPersister to expose non RuntimeExceptions on insert/update/delete. Not hide NoClassDefFoundError etc 2022-02-04 15:55:00 +13:00
Rob BygraveandGitHub b02adeccc1 Merge pull request #2548 from ebean-orm/feature/tests-for-cockroach
CockroachDB - Modify tests, use BigDecimal over Double etc
2022-02-04 11:04:55 +13:00
Rob Bygrave b3f110b7a5 CockroachDB - Modify tests, use BigDecimal over Double etc 2022-02-04 10:42:07 +13:00
Rob Bygrave daf0ba67a4 #2547 - CockroachDB - Use ON DISTINCT ... like Postgres and Yugabyte 2022-02-04 08:58:21 +13:00
Rob Bygrave cf3499f0e4 #2547 - Update BaseTestCase to include CockroachDB 2022-02-04 08:41:34 +13:00
Rob Bygrave a72cbaf243 #2547 - Cockroach identity DDL - Changing to use standard GENERATED ... AS IDENTITY syntax 2022-02-04 08:40:23 +13:00
Rob Bygrave 9ea2811aa3 Add H2Database build badge 2022-02-03 17:13:45 +13:00
Rob Bygrave 0abef7396f Add H2Database build workflow 2022-02-03 16:41:58 +13:00
Rob Bygrave 101d9e85ef Add H2Database build workflow 2022-02-03 16:38:17 +13:00
Rob Bygrave 7a3be45efd Add Yugabyte build badge to README 2022-02-03 16:22:53 +13:00
Rob Bygrave f4d92eed18 Bump test modules to 12.15.1-SNAPSHOT after release 2022-02-03 09:19:10 +13:00
Rob Bygrave db6f2cba75 [maven-release-plugin] prepare for next development iteration 2022-02-03 09:02:38 +13:00
Rob Bygrave 6f694eb6ca [maven-release-plugin] prepare release ebean-parent-12.15.0 2022-02-03 09:02:30 +13:00
Rob Bygrave 539633c963 Adjust Multi-database platform 2022-02-02 23:40:58 +13:00
Rob Bygrave 8e05956f6b Default tests to use H2 2022-02-02 23:39:15 +13:00
Rob Bygrave 94951a5476 Yugabyte - use distinct on clause with Yugabyte (like Postgres) 2022-02-02 23:38:50 +13:00
Rob BygraveandGitHub 2cd769d00f Merge pull request #2546 from ebean-orm/feature/yugabyte-mutlivaluebind
Modify tests to use isPostgresCompatible() (to effectively include Yugabyte)
2022-02-02 23:26:12 +13:00
Rob Bygrave 389f2bcd2f Modify tests to use isPostgresCompatible() (to effectively include Yugabyte) 2022-02-02 23:25:13 +13:00
Rob BygraveandGitHub 1ba259d15d Merge pull request #2545 from ebean-orm/feature/yugabyte-mutlivaluebind
Yugabyte - Use MultiValueBind like Postgres (that is, ANY(?) clause in sqlQuery/sqlUpdate)
2022-02-02 23:03:33 +13:00
Rob Bygrave 4899f23773 Yugabyte - Use MultiValueBind like Postgres (that is, ANY(?) clause in sqlQuery/sqlUpdate) 2022-02-02 23:02:32 +13:00
Rob Bygrave 771e9ff069 Tidy tests only - EqlParserTest, EbeanServer_deleteAllByIdTest 2022-02-02 23:00:06 +13:00
Rob Bygrave 7d27c06483 Bump jaxb-runtime dependency 2022-02-02 22:30:37 +13:00
Rob Bygrave d6a8643fe4 Support @DbArray of BigDecimal 2022-02-02 22:22:42 +13:00
Rob BygraveandGitHub 97c714d945 Merge pull request #2544 from ebean-orm/feature/dbarray_bigdecimal
Support @DbArray of BigDecimal
2022-02-02 22:08:48 +13:00
Rob Bygrave 57f6668b37 Support @DbArray of BigDecimal 2022-02-02 21:57:39 +13:00
Rob Bygrave 9d506b4397 Bump test dependencies 2022-02-02 20:48:55 +13:00
Rob Bygrave 5a12cc58d1 Bump Postgres test dependencies to 42.3.2 2022-02-02 17:18:14 +13:00
Rob Bygrave f7c83411c2 #2415 - SQL for Index and Foreign Key didn't get generated if I map ID column after @ManyToOne
Allow declaring the column twice with scalar type after ManyToOne type
2022-02-02 17:12:18 +13:00
Rob BygraveandGitHub a02fee7de0 Merge pull request #2539 from ebean-orm/feature/performance-pathmaps
#2507 - Script runner does not work with file system path
2022-02-02 13:03:45 +13:00
Rob Bygrave 170e323ee9 #2507 - Script runner does not work with file system path 2022-02-02 13:02:49 +13:00
Rob BygraveandGitHub 4555f3da51 Merge pull request #2538 from ebean-orm/feature/performance-pathmaps
Performance - cache the path maps used for load context
2022-02-02 12:30:56 +13:00
Rob Bygrave 376b3a9f13 #2538 - Tidy CQuery use of path() 2022-02-02 12:20:33 +13:00
Rob Bygrave 43af5343a4 Performance - cache the path maps used for load context
- Cache the path maps
- Include the ToOne paths
- Use empty map for null prefix
2022-02-02 12:10:02 +13:00
Rob Bygrave 886f539fc4 Refactor tidy SqlTreeNodeBean 2022-02-02 11:30:56 +13:00
Rob Bygrave 1035d74113 Bump to 12.15.0-SNAPSHOT 2022-02-02 11:20:59 +13:00
Rob Bygrave 26a4feb5ba Bump to 12.15.0-SNAPSHOT 2022-02-02 11:14:36 +13:00
Rob Bygrave a1c0e21234 Bump to 12.15.0-SNAPSHOT 2022-02-02 10:59:04 +13:00
Rob Bygrave cbe133dd68 #2509 - Bump jedis client to 4.1.1 2022-02-02 10:56:59 +13:00
Rob BygraveandGitHub 4b1fe063b0 Merge pull request #2531 from FOCONIS/db2/persist-batch-on-cascade
Set persistBatchOnCascade to ALL for newer DB2 versions
2022-02-02 09:06:39 +13:00
Rob Bygrave 15f1bd310b #2521 - Refactor inline index++ 2022-02-02 09:05:14 +13:00
Rob Bygrave 6e3e9bd4f7 git push origin masterMerge branch 'FOCONIS-db2/fix-get-generated-keys' 2022-02-02 09:00:01 +13:00
Rob Bygrave fddcc64741 #2521 - Move horrible DB2 hack into DB2GetKeys 2022-02-02 08:59:41 +13:00
Rob Bygrave ed917c55f1 Merge branch 'db2/fix-get-generated-keys' of https://github.com/FOCONIS/ebean into FOCONIS-db2/fix-get-generated-keys 2022-02-02 08:46:42 +13:00
Rob Bygrave 17fed0ebd8 Tidy test only - TestNestedBeginRequiresNew 2022-02-01 15:18:06 +13:00
Rob BygraveandGitHub 2dcd17830a Merge pull request #2536 from ebean-orm/feature/ebeantest-pg14
ebean-test - bump Postgres default container to 14
2022-02-01 13:46:09 +13:00
Rob Bygrave a412873da6 ebean-test - bump Postgres default container to 14 2022-02-01 13:36:37 +13:00
Rob BygraveandGitHub 7f5370c709 Merge pull request #2535 from ebean-orm/feature/yugabyte-workflow-build
Yugabyte - Add specific github workflow build
2022-02-01 13:33:28 +13:00
Rob Bygrave 9470a1376c Yugabyte - Add specific github workflow build 2022-02-01 13:32:55 +13:00
Rob BygraveandGitHub 7f5b65cf45 Merge pull request #2534 from ebean-orm/feature/yugabyte-test
Yugabyte - ebean-test support via ebean.test.platform=yugabyte
2022-02-01 13:30:49 +13:00
Rob Bygrave 6d0f5aea82 Yugabyte - ebean-test support via ebean.test.platform=yugabyte 2022-02-01 13:26:05 +13:00
Rob Bygrave 530a75b591 DB - test ddl changes 2022-02-01 13:24:50 +13:00
Rob Bygrave 13cfaba0c8 Yugabyte - Disable commit and continue test for Yugabyte (failing occasionally, need to review) 2022-02-01 11:55:26 +13:00
Rob Bygrave 1fa92efb63 Yugabyte - Adjust DbJsonTest wrt ordering in content, use JSON assertContainsResource()
Highlights that the DbJson assertContains() asserts are better longer term approach (over content matching asserts)
2022-02-01 11:55:15 +13:00
Rob Bygrave bc477c64cb Yugabyte - Disable commit and continue test for Yugabyte (failing occasionally, need to review) 2022-02-01 11:53:03 +13:00
Rob Bygrave 804098149e Yugabyte - Tidy tests with element collections not maintaining ordering 2022-02-01 11:51:46 +13:00
Rob Bygrave 567ad92050 Yugabyte - Tidy tests 2022-02-01 10:41:29 +13:00
Rob BygraveandGitHub 3a84cb8623 Merge pull request #2533 from ebean-orm/feature/yugabyte-json-hstore
Yugabyte - Fix some tests for running against Yugabyte
2022-02-01 09:50:05 +13:00
Rob Bygrave b4ddbe38ee Yugabyte - Fix some tests for running against Yugabyte 2022-02-01 09:49:23 +13:00
Rob BygraveandGitHub 01722b334b Merge pull request #2532 from FOCONIS/db2/unique_indices_with_null_columns
DB2 Support for unique indices with null columns
2022-02-01 08:16:43 +13:00
Rob BygraveandGitHub 0a780523cf Merge pull request #2529 from ebean-orm/feature/yugabyte-json-hstore
Yugabyte - Use Postgres ScalarTypes for JSON/JSONB but not HSTORE
2022-02-01 07:56:26 +13:00
Roland PramlandJonas Pöhler f2e04d9fbf DB2. Support for unique indices with null columns
(cherry picked from commit 23a5d577a6)
2022-01-31 13:58:40 +01:00
Jonas Pöhler 4b8565e7c7 FIX: we can set persistBatchOnCascade to ALL for newer DB2 versions 2022-01-31 11:32:22 +01:00
Rob Bygrave 1359d534d5 Yugabyte - Use Postgres ScalarTypes for JSON/JSONB but not HSTORE 2022-01-29 17:05:12 +13:00
Rob BygraveandGitHub 94ae513d85 Merge pull request #2522 from FOCONIS/db2/check-exception-chain
DB2: SqlCodeTranslator must check exception chain
2022-01-29 15:33:46 +13:00
Rob BygraveandGitHub d58c56484e Merge pull request #2517 from FOCONIS/fix-datasource
FIX: Datasource was not initialized in offline mode.
2022-01-29 15:28:53 +13:00
Rob BygraveandGitHub 75a27fa2d6 Merge pull request #2511 from FOCONIS/unselect-lobs
Unselect LOBs when making a distinct select
2022-01-29 15:25:00 +13:00
Rob BygraveandGitHub cc1c08cd34 Merge pull request #2528 from FOCONIS/db2/disabled-tests
DB2 Fix tests for DB2
2022-01-29 15:19:01 +13:00
Rob BygraveandGitHub 029cde12db Merge pull request #2527 from FOCONIS/db2/fix-sequence
DB2: Fix Sequence generator
2022-01-29 15:16:24 +13:00
Rob BygraveandGitHub b33914ab2f Merge pull request #2526 from FOCONIS/db2/no-null-values
DB2: Do not try to update deferred null values (Discovered by TestPrinterStateIssue)
2022-01-29 15:15:33 +13:00
Rob BygraveandGitHub d571a6c354 Merge pull request #2525 from FOCONIS/db2/truncate
DB2: truncate needs commit after each statement
2022-01-29 15:13:29 +13:00
Rob BygraveandGitHub 95b19569e4 Merge pull request #2524 from FOCONIS/db2/nocompressedid
DB2 does not support ids in compressed form
2022-01-29 15:12:25 +13:00
Rob BygraveandGitHub a9560c6664 Merge pull request #2523 from FOCONIS/db2/sqllimiter
DB2: FIX Db2SqlLimiter & tests
2022-01-29 15:11:33 +13:00
Rob BygraveandGitHub 235822bcb2 Merge pull request #2520 from FOCONIS/db2/fix-raw-like
DB2: Fix Raw like
2022-01-29 15:07:41 +13:00
Rob BygraveandGitHub 5a024ea19f Merge pull request #2519 from FOCONIS/db2/fix-default-values
DB2: Fix default values for auto generated ids
2022-01-29 15:06:54 +13:00
Rob BygraveandGitHub 399f8b92fa Merge pull request #2518 from FOCONIS/db2/fix-concat-operator
DB2: Fix Concat operator
2022-01-29 15:05:58 +13:00
Rob BygraveandGitHub be93263015 Merge pull request #2513 from FOCONIS/h2-backward-compat
Test against H2 1.4.199
2022-01-29 11:23:19 +13:00
Roland Praml b4fe4ec8b9 ADD.profile and autodetect code 2022-01-28 16:04:35 +01:00
Roland Praml 8c9f5f4a22 Disabled more tests for DB2 2022-01-28 11:38:11 +01:00
Roland Praml 953f8054e6 FIX: Clean up tests 2022-01-28 11:38:01 +01:00
Roland Praml aadb791980 FIX: isSame replaceed by isEqualTo 2022-01-28 11:37:48 +01:00
Roland Praml 7430f97c9c fix compile errors for EqlParserTest 2022-01-28 11:37:30 +01:00
Roland Praml ba21eeaadb DB2: Do not try to update deferred null values (Discovered by TestPrinterStateIssue) 2022-01-28 10:59:16 +01:00
Roland Praml c0e827ffda DB2: Fix Sequence generator 2022-01-28 10:57:41 +01:00
Roland Praml 3b30708dfc DB2: truncate needs commit after each statement 2022-01-28 10:56:01 +01:00
Roland Praml 9f9184ac6a DB2 does not support ids in compressed form 2022-01-28 10:53:51 +01:00
Roland Praml 5845f94303 DB2:ignored tests 2022-01-28 10:28:02 +01:00
Roland Praml dd824ffe52 DB2: Fix EqlParserTests similar to HANA 2022-01-28 10:27:50 +01:00
Roland Praml e5d29afa4c DB2: Disabled test for encryption, as it is not supported for Db2 2022-01-28 10:27:39 +01:00
Roland Praml 5ae5e408e3 DB2: FIX Db2SqlLimiter & tests 2022-01-28 10:23:22 +01:00
Roland Praml 90f6d0707f DB2: SqlCodeTranslator must check exception chain 2022-01-28 10:21:55 +01:00
Roland Praml 0310601e31 DB2: Fix getGenerateKeys (ungly workaround) 2022-01-28 10:06:34 +01:00
Roland Praml 015dd00b8e DB2: Fix Raw like 2022-01-28 10:04:20 +01:00
Roland Praml 6d978add29 DB2: Fix default values 2022-01-28 09:47:49 +01:00
Roland Praml e529232f76 DB2: Fix insert default values 2022-01-28 09:47:04 +01:00
Roland Praml d982ac73b7 DB2: Fix Concat operator 2022-01-28 09:38:41 +01:00
Roland Praml ddaff81b9c FIX: Datasource was not initialized in offline mode. 2022-01-28 09:29:12 +01:00
Rob BygraveandGitHub 1d11666945 Merge pull request #2516 from ebean-orm/feature/yugabyte-platform-ddl
Yugabyte platform support - Automatic detection and DDL support
2022-01-28 17:45:46 +13:00
Rob Bygrave 223e5160dc #2516 - Touch StartYugabyte 2022-01-28 17:26:58 +13:00
Rob Bygrave 64605b5090 Yugabyte platform support - Automatic detection and DDL support
- Automatic detection similar to Cockroach
- DDL very similar to Postgres but no CREATE TABLE LIKE support (for history DDL)
2022-01-28 17:04:19 +13:00
Rob Bygrave 425124d8f7 Adjust README for build badge changes 2022-01-28 10:55:22 +13:00
Rob Bygrave 6af8968280 Adjust workflow build for Oracle 18 2022-01-28 10:44:25 +13:00
Rob Bygrave a9bee03ba7 Add workflow build for Oracle 18 2022-01-28 09:57:49 +13:00
Rob BygraveandGitHub 302cc426bd Merge pull request #2515 from ebean-orm/feature/oracle-maxInBinding
Add maxInBinding - Oracle support for large delete by ids
2022-01-28 09:50:01 +13:00
Rob Bygrave 44462e3513 Add maxInBinding - Oracle support for large delete by ids 2022-01-28 09:46:03 +13:00
Rob Bygrave b748c598a1 build workflow rename for DB2 LUW 2022-01-28 09:04:56 +13:00
Rob Bygrave dbac184b4c Rename build workflows 2022-01-28 08:58:25 +13:00
Rob Bygrave 29c5916203 Add build workflow for db2 2022-01-28 08:54:21 +13:00
Rob BygraveandGitHub 827315a11d Merge pull request #2509 from ebean-orm/feature/jedis-4x
Support jedis 4.1.0 client (ScanParams, ScanResult in different package now)
2022-01-28 08:37:28 +13:00
Rob BygraveandGitHub 14ef8f6e0d Merge pull request #2512 from FOCONIS/introduce-db2
ADD: different DB2 platforms
2022-01-28 08:17:03 +13:00
Roland Praml 5b63434f13 reindent code and linked #2514 2022-01-27 16:43:35 +01:00
Roland Praml 3e8cc87f01 Add: github workflow for db2 2022-01-27 16:02:18 +01:00
Roland Praml 190b4ef588 Made some fixes in wrong ddl generation 2022-01-27 15:58:44 +01:00
Roland Praml 4a20c9eb99 Test against H2 1.4.199 2022-01-27 13:56:21 +01:00
Roland Praml d8c2b3d583 FIX: Compile errors 2022-01-27 10:34:25 +01:00
Roland Praml 48c8f5e2ca ADD: different DB2 platforms 2022-01-27 10:09:31 +01:00
Noemi SzemenyeiandRoland Praml 69a753fc4f DB2:Unselect LOBs when making a distinct select 2022-01-27 08:34:51 +01:00
Roland Praml b9ba6b2db5 DB2: Adapted Noemi's patch to new ebean version 2022-01-27 07:57:35 +01:00
Rob Bygrave 7a6071ac9a Support jedis 4.1.0 client (ScanParams, ScanResult in different package now) 2022-01-27 09:20:23 +13:00
Rob Bygrave 404b167bcc #2508 - Bump ebean-datasource to 7.5 2022-01-27 09:13:20 +13:00
Rob Bygrave 7278db56ea Modify test TestUuidGenerator to allow odd jvm variance in root error message 2022-01-27 09:12:57 +13:00
Rob BygraveandGitHub 1dc5ecc81f Merge pull request #2506 from FOCONIS/fix-localdate-databind
DB2: Fix: DataBind/Read of native LocalDates
2022-01-27 09:02:04 +13:00
Rob BygraveandGitHub c39661e2c2 Merge pull request #2505 from FOCONIS/refactor-uuid-v1-generator
Refactor UUID generator. Add uuid-property to serverConfig (#57)
2022-01-27 08:55:48 +13:00
Rob BygraveandGitHub a702bbb5ee Merge pull request #2504 from FOCONIS/sqlserver-delete-problem
Cannot delete bean with more than 2100 child beans on SqlServer
2022-01-27 08:54:27 +13:00
Roland PramlandRoland Praml 1982027300 Organized imports 2022-01-26 16:55:50 +01:00
Roland PramlandRoland Praml 2e1a6eec04 DB2: Fix: DataBind/Read of native LocalDates 2022-01-26 16:51:55 +01:00
Roland PramlandRoland Praml e5f37e638c Refactor UUID generator. Add uuid-property to serverConfig (#57)
Co-authored-by: Roland Praml <roland.praml@foconis.de>
2022-01-26 12:05:12 +01:00
Roland Praml 7ffea8e922 FIX: DeleteBatch for SQLServer 2022-01-26 11:59:35 +01:00
Roland Praml 315640df6b ADD: Failing test case 2022-01-26 11:59:17 +01:00
Rob Bygrave 78a647a72e Merge branch 'master' of github.com:ebean-orm/ebean 2022-01-26 22:42:10 +13:00
Rob Bygrave 7ffd2f1886 #2501 Modify pom use ${h2database.version} 2022-01-26 22:41:55 +13:00
Rob BygraveandGitHub 0087eabb4e Merge pull request #2502 from FOCONIS/fix-composite-id-in-select-distinct
Fix: composite id in select distinct queries
2022-01-26 22:22:18 +13:00
Rob BygraveandGitHub 5f0731f975 Merge pull request #2499 from ebean-orm/dependabot/maven/ebean-core/com.h2database-h2-2.1.210
Bump h2 from 1.4.199 to 2.1.210 in /ebean-core
2022-01-26 22:19:14 +13:00
Rob BygraveandGitHub 85e31899b9 Merge pull request #2498 from ebean-orm/dependabot/maven/ebean-test/com.h2database-h2-2.1.210
Bump h2 from 1.4.199 to 2.1.210 in /ebean-test
2022-01-26 22:18:50 +13:00
Rob BygraveandGitHub 3337541ac4 Merge pull request #2497 from ebean-orm/dependabot/maven/ebean-api/com.h2database-h2-2.1.210
Bump h2 from 1.4.199 to 2.1.210 in /ebean-api
2022-01-26 22:18:18 +13:00
Rob Bygrave b123b06f4d Merge branch 'wip/h2database-v2' 2022-01-26 22:08:52 +13:00
Rob Bygrave 17df5a2c16 Merge branch 'master' into wip/h2database-v2 2022-01-26 22:07:20 +13:00
Rob BygraveandGitHub e13aaefee1 Merge pull request #2500 from ebean-orm/feature/refactor-sqltreeload
Refactor internals split result load functionality from SqlTreeNode into SqlTreeLoad
2022-01-26 22:04:42 +13:00
Rob Bygrave 09ce693da2 Merge branch 'feature/refactor-sqltreeload' of github.com:ebean-orm/ebean into feature/refactor-sqltreeload 2022-01-26 22:00:40 +13:00
Rob Bygrave 17f7be72f4 Touch README.md 2022-01-26 22:00:28 +13:00
Rob Bygrave 23061473c7 Refactor internals split result load functionality from SqlTreeNode into SqlTreeLoad 2022-01-26 22:00:28 +13:00
Rob Bygrave 0944b87283 Merge branch 'wip/h2database-v2' of github.com:ebean-orm/ebean into wip/h2database-v2 2022-01-26 21:58:12 +13:00
Rob Bygrave 86768dfe4d Touch application-test.properties 2022-01-26 21:57:41 +13:00
Rob Bygrave ffdafc796b Touch README.md 2022-01-26 21:54:19 +13:00
Rob Bygrave 5466c6a350 Reduce logging when running Build tests 2022-01-26 21:51:48 +13:00
Rob Bygrave 7e0ac5a73a Fix issues with tests - tidy ResetBasicData 2022-01-26 21:47:00 +13:00
Noemi Szemenyei 008e1849a2 FIX: other queries for other platforms 2022-01-26 08:25:38 +01:00
Noemi Szemenyei dcf60a3d1c Trigger Build 2022-01-26 08:09:42 +01:00
Rob Bygrave 774cab327d Fix issues with test ordering - ordering in ResetBasicData 2022-01-26 17:23:18 +13:00
Rob Bygrave 2f824c99ea Fix issues with test ordering 2022-01-26 16:53:38 +13:00
Rob Bygrave 1a54fc12ad Test logging enabled for investigating CI Build issue 2022-01-26 15:48:03 +13:00
Rob Bygrave a1d6b280bc Bump test parent poms 2022-01-26 14:58:38 +13:00
Rob Bygrave fa561e5197 CI Build with single test and bump enhancement tiles 2022-01-26 14:52:32 +13:00
Rob Bygrave 4a8231a6cc CI Build using adopt distribution 2022-01-26 14:38:52 +13:00
Rob Bygrave 5cb486c745 CI Build without maven cache 2022-01-26 14:18:02 +13:00
Noemi Szemenyei dd26dc342d FIX: select properties of the embedded Id
(cherry picked from commit 58e952b1ec)
2022-01-25 09:42:27 +01:00
Noemi Szemenyei 7733e9382c ADD: failing test with select distinct with composite key and T0.NULL
(cherry picked from commit a08ba194b7)
2022-01-25 09:42:04 +01:00
Rob BygraveandGitHub bc6d2fb3be Merge branch 'master' into wip/h2database-v2 2022-01-25 21:30:36 +13:00
Rob Bygrave a9dbc036e9 Support H2database 2.x 2022-01-25 21:28:09 +13:00
Rob Bygrave 8d29a3a575 Bind LocalDate directly using JDBC driver to convert
This addresses issues with dates before 1900-01-01 with H2Database
2022-01-25 21:27:32 +13:00
Rob Bygrave 4158ac4665 Refactor internals split result load functionality from SqlTreeNode into SqlTreeLoad 2022-01-25 13:44:23 +13:00
dependabot[bot]andGitHub ddab6e65b7 Bump h2 from 1.4.199 to 2.1.210 in /ebean-core
Bumps [h2](https://github.com/h2database/h2database) from 1.4.199 to 2.1.210.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-1.4.199...version-2.1.210)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-21 23:47:28 +00:00
dependabot[bot]andGitHub bbede04a56 Bump h2 from 1.4.199 to 2.1.210 in /ebean-test
Bumps [h2](https://github.com/h2database/h2database) from 1.4.199 to 2.1.210.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-1.4.199...version-2.1.210)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-21 23:47:27 +00:00
dependabot[bot]andGitHub 9df96b0294 Bump h2 from 1.4.199 to 2.1.210 in /ebean-api
Bumps [h2](https://github.com/h2database/h2database) from 1.4.199 to 2.1.210.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-1.4.199...version-2.1.210)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-21 23:47:27 +00:00
Rob Bygrave 6a6b6b8200 Bump ebean-kotlin to 12.14.2-SNAPSHOT 2022-01-21 17:38:59 +13:00
Rob Bygrave e26e093680 Bump test poms to 12.14.2-SNAPSHOT 2022-01-21 17:38:03 +13:00
Rob BygraveandGitHub fc107115c6 Merge pull request #2494 from ebean-orm/FOCONIS-pr/enh/stored_procedures_mysql_drop_column
Optionally allow use of stored procedures for MySql to drop columns in db migration
2022-01-21 17:26:22 +13:00
Rob Bygrave 0139ad891e #2403 - table partitioning (Postgres only at this point) is always included + simplify skip logic 2022-01-21 17:20:21 +13:00
Rob Bygrave 4f70c09690 Merge branch 'pr/enh/stored_procedures_mysql_drop_column' of https://github.com/FOCONIS/ebean into FOCONIS-pr/enh/stored_procedures_mysql_drop_column 2022-01-21 17:06:48 +13:00
Rob Bygrave df8ae18bf6 [maven-release-plugin] prepare for next development iteration 2022-01-17 22:31:00 +13:00
Rob Bygrave 8edaabf755 [maven-release-plugin] prepare release ebean-parent-12.14.1 2022-01-17 22:30:53 +13:00
Rob Bygrave 25eea42211 Bump to ebean-migration 12.13.0 and ebean-agent 12.14.1 2022-01-17 22:28:36 +13:00
Rob Bygrave 263f6cdeba Tidy OraclePlatform only 2022-01-17 22:10:53 +13:00
Rob Bygrave 38f1967e60 #2473 - Oracle - column alias - Change such that OraclePlatform doesn't use column alias
So with #2254 we regressed OraclePlatform to use column alias. This really should have introduced an Oracle12 platform instead. 18c onwards and we don't want the column alias.
2022-01-17 22:10:21 +13:00
Rob Bygrave 6eb8eb0dd2 #2473 Tidy BasicSqlAnsiLimiter only, no functional change 2022-01-17 21:58:33 +13:00
Rob Bygrave 1165d857d8 Fix test ParentQueryTest 2022-01-17 21:57:14 +13:00
Rob Bygrave 874c2f5231 #2492 - Fix for Oracle platform when insert only default values 2022-01-17 21:42:09 +13:00
Rob Bygrave 88ab852855 No real change, tidy DbExpressionHandlerFactory only 2022-01-17 21:28:45 +13:00
Rob Bygrave b577331524 #2492 - Fix for Oracle platform when insert only default values 2022-01-17 21:27:42 +13:00
Rob Bygrave ec45fc1c86 Fix tests for Oracle - BITADD in @Where clause expression 2022-01-17 21:26:19 +13:00
Rob Bygrave e65876e8ed #2477 - Add failing test case (disable for the moment) 2022-01-17 20:58:19 +13:00
Rob BygraveandGitHub 5453037172 Merge pull request #2491 from ebean-orm/feature/2476-elementCollectionConstructor
#2476 - Fix for element collection on bean with default constructor
2022-01-17 15:41:33 +13:00
Rob Bygrave 9b116c9bf6 #2476 - tidy tests 2022-01-17 15:38:41 +13:00
Rob Bygrave 82862deccc #2476 - Fix for element collection on bean with default constructor
Note that we can look for a better longer term fix which might would look at treating element collection more like ToMany collections in terms of enhancement.
2022-01-17 15:36:26 +13:00
Rob Bygrave 1c83bbe0b0 #2476 - Failing test for element collection on bean with default constructor 2022-01-17 15:33:13 +13:00
Rob BygraveandGitHub f16f34f35f Merge pull request #2488 from ebean-orm/feature/2487
#2487 - ebean-test support Docker In Docker - docker container's hostname rather than hardcoded "localhost"
2022-01-14 16:32:04 +13:00
Rob Bygrave 38bc5b2fea #2488 - refactor extract logic into DockerHost helper, fix RedisSetup, pass docker host to ebean-test-docker 2022-01-14 16:27:04 +13:00
Rob Bygrave 356dc5eb19 #2487 - ebean-test support Docker In Docker - docker container's hostname rather than hardcoded "localhost" 2022-01-13 15:02:38 +13:00
Rob BygraveandGitHub c5779133bc Merge pull request #2485 from FOCONIS/fix-utf8-problems-with-specialchars
Fix utf8 problems with specialchars
2022-01-13 11:05:27 +13:00
Rob BygraveandGitHub b8b6311348 Merge pull request #2447 from FOCONIS/fix-scalartype-problem2
Traverse class hierarchy, when searching for ScalarType
2022-01-13 10:58:05 +13:00
FOCONIS\szemenyei 8eed983fbb restore old test 2022-01-12 08:37:46 +01:00
Rob BygraveandGitHub 7cfecb83a9 Merge pull request #2486 from bigjimlefou/fixWindows
Fix some tests failing on Windows
2022-01-12 09:17:37 +13:00
bigjimlefou e92939a34d Fix failing test on Windows platform 2022-01-11 15:41:20 +01:00
bigjimlefou 408b982eb3 Use of platform-specific specific file separator 2022-01-11 15:41:19 +01:00
bigjimlefou dd7e7711a8 Use of platform-specific specific file separator 2022-01-11 15:41:19 +01:00
bigjimlefou 5a3f7853a6 Fix failing test on Windows platform. 2022-01-11 15:41:19 +01:00
Roland PramlandFOCONIS\szemenyei 01847e44de Always use UTF-8 2022-01-11 10:11:13 +01:00
FOCONIS\szemenyei 0cf9f0bf58 Revert "at first revert solution"
This reverts commit b01b44af10.
2022-01-11 09:49:02 +01:00
FOCONIS\szemenyei b01b44af10 at first revert solution 2022-01-11 09:48:47 +01:00
FOCONIS\szemenyei 8d85000970 Fix Checksum calculate() with special characters
(cherry picked from commit e9efd5a702)
2022-01-11 09:47:44 +01:00
Jonas Pöhler e7f9c63502 Clear up some possible confusion in the test 2022-01-05 15:46:34 +01:00
Jonas Pöhler eb21b41fba Refactor and fixes for interfaces (like Path) + extend existing tests 2022-01-05 14:22:24 +01:00
Jonas Pöhler 3dc6c567a0 Merge remote-tracking branch 'ebean/master' into fix-scalartype-problem2 2022-01-05 13:34:29 +01:00
Rob BygraveandGitHub 18eed47306 Merge pull request #2475 from bigjimlefou/fixLocale
Fix locale problem with TestCsvReader and TestCsvReaderWithCallback.
2021-12-24 11:10:05 +13:00
Cédric Sougné 9ddf1333ed Fix locale problem with TestCsvReader and TestCsvReaderWithCallback. 2021-12-23 17:19:44 +01:00
Rob Bygrave 73896d375f Bump test modules to 12.14.1-SNAPSHOT after release 2021-12-20 16:49:18 +13:00
Rob Bygrave 3f645211a6 [maven-release-plugin] prepare for next development iteration 2021-12-20 16:34:23 +13:00
Rob Bygrave 451e2fa93c [maven-release-plugin] prepare release ebean-parent-12.14.0 2021-12-20 16:34:17 +13:00
Rob Bygrave 2ff3b0acb7 Update gitflow cron schedule for mariadb, sqlserver, jdk-18 2021-12-20 16:20:08 +13:00
tFellnerandGitHub 42594533da Support for Sequences in MariaDB (#2304)
* Support for Sequneces in MariaDB

* clean up readSequenceValue in test class

* remove flakiness

* remove change for later discussion

* replace deprecated methods

* strictly allow sequences
2021-12-20 16:11:30 +13:00
Rob Bygrave 678494f331 Bump version of logback used in tests only 2021-12-20 16:09:33 +13:00
Rob Bygrave 361df6732a #2472 - BeanPersistController and isCascade() for delete requests (following #2458) 2021-12-20 15:49:58 +13:00
Rob Bygrave c3320f4a0b Bump version to 12.14.0-SNAPSHOT 2021-12-20 13:14:34 +13:00
Rob Bygrave c411d9a665 Bump version to 12.14.0-SNAPSHOT 2021-12-20 12:47:36 +13:00
Rob Bygrave 8ea2c31076 #2471 - Bump avaje-config to 1.7 (from 1.5) with removed jndi lookup for DataSource 2021-12-20 12:45:30 +13:00
Rob Bygrave 254b0df16b #2470 - Bump jedis to version 3.8.0 (from 3.6.3) 2021-12-20 12:40:41 +13:00
Rob Bygrave c0f4451d20 Fix pom versions in test only modules after release 2021-12-20 10:47:26 +13:00
Rob BygraveandGitHub 6c544a2835 Merge pull request #2468 from FOCONIS/pr/fix/jdbc_url_sqlserver_tests
Unify JDBC URL for SqlServer (analog to testconfig-files)
2021-12-20 10:29:58 +13:00
Rob BygraveandGitHub 227d18bbf0 Merge pull request #2469 from FOCONIS/pr/enh/helper_methods_annotation_util
Add metaHas and metaFindAll in AnnotationUtil
2021-12-20 10:28:32 +13:00
Rob BygraveandGitHub 18cdd2ed7a Merge pull request #2466 from FOCONIS/pr/fix/remove_unused_load_error_handler
Remove unused LoadErrorHandler interface
2021-12-20 10:27:14 +13:00
Jonas Pöhler 91d1fb8cea ADD: javadoc 2021-12-17 15:10:30 +01:00
Jonas Pöhler 058021f8d0 ADD: metaHas and metaFindAll as functional sugar 2021-12-17 13:56:08 +01:00
Roland PramlandJonas Pöhler f4d270e8b5 FIX: JDBC URL for SqlServer (similar to testconfig-files) 2021-12-17 13:26:00 +01:00
Jonas Pöhler 7b8052c097 Merge remote-tracking branch 'ebean/master' into pr/fix/remove_unused_load_error_handler 2021-12-17 13:22:46 +01:00
Rob Bygrave 68b7deba9d Put back h2database to 1.4.199 as 2.x breaks way too many things, need to work on that 2021-12-17 23:25:49 +13:00
Rob Bygrave 860aad11ce WIP h2database v2 2021-12-17 23:22:25 +13:00
Roland PramlandJonas Pöhler 65e924feaa Deleted obsolete LoadErrorHandler 2021-12-17 10:44:42 +01:00
Rob Bygrave 6cc5e83b01 Merge branch 'master' of github.com:ebean-orm/ebean 2021-12-17 21:47:17 +13:00
Rob Bygrave 752d5d4782 Remove pom.xml.releaseBackup from barfed release 2021-12-17 21:47:07 +13:00
Rob BygraveandGitHub 20fdbfc972 Merge pull request #2463 from ebean-orm/dependabot/maven/ebean-test/com.h2database-h2-2.0.202
Bump h2 from 1.4.199 to 2.0.202 in /ebean-test
2021-12-17 21:44:21 +13:00
Rob Bygrave bd01dfd29a Bump parent pom, moved to s01.oss.sonatype.org 2021-12-17 20:57:46 +13:00
Rob Bygrave 6a9b5944a3 Remove release.properties that somehow got into git after release 2021-12-17 20:55:19 +13:00
dependabot[bot]andGitHub 6e31de6f2e Bump h2 from 1.4.199 to 2.0.202 in /ebean-test
Bumps [h2](https://github.com/h2database/h2database) from 1.4.199 to 2.0.202.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-1.4.199...version-2.0.202)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-17 04:33:53 +00:00
Rob Bygrave 5fddc37037 [maven-release-plugin] prepare for next development iteration 2021-12-17 17:26:43 +13:00
Rob Bygrave ca6e3963db [maven-release-plugin] prepare release ebean-parent-12.13.2 2021-12-17 17:26:36 +13:00
Rob BygraveandGitHub a966557b68 Merge pull request #2459 from ebean-orm/feature/2458-isCascade
#2458 - Add BeanPersistController.isCascade() to identify cascade vs "top level" persist requests
2021-12-17 10:54:19 +13:00
Rob Bygrave 1a6a426683 #2458 - Add BeanPersistController.isCascade() to identify cascade vs "top level" persist requests 2021-12-17 10:43:27 +13:00
Rob Bygrave dd43fe4db3 Update pom in ebean-kotlin empty module to use java 1.8 2021-12-15 21:49:34 +13:00
Rob Bygrave b4ebeb0070 #2445 - update test generated ddl as part of ... Put back DB2 maxTableNameLength=18, maxConstraintNameLength=18 2021-12-15 21:49:02 +13:00
Rob Bygrave 0dbf982293 Javadoc only update in PlatformConfig 2021-12-15 21:47:58 +13:00
Rob BygraveandGitHub 12d7184f02 Merge pull request #2454 from ebean-orm/feature/2445-revert-maxTableNameLength
#2445 - Put back DB2 maxTableNameLength=18, maxConstraintNameLength=18
2021-12-14 10:24:59 +13:00
Rob Bygrave c3295f1145 #2445 - Put back DB2 maxTableNameLength=18, maxConstraintNameLength=18 2021-12-13 20:54:49 +13:00
Rob Bygrave 9bdcd6c55e #2452 - server-wide defaultJsonMutation SOURCE is not honored by DbJson scalar types (e.g. List<String>) 2021-12-07 18:13:17 +13:00
Rob Bygrave b627794f8f #2451 - Initial add of ebean-kotlin module, home of kotlin extension 2021-12-07 16:25:46 +13:00
Rob Bygrave b9f3ff24e9 Tidy test only - BasicProfileLocationTest 2021-12-07 15:25:02 +13:00
Rob Bygrave 9752eced1f Adjust tests for JDK 18-ea build 2021-12-07 15:24:19 +13:00
Rob Bygrave e7aa1fdac5 Update badges on README 2021-12-07 15:21:43 +13:00
Rob Bygrave 9d26ab2103 Adjust tests for JDK 18-ea build 2021-12-07 15:15:21 +13:00
Rob Bygrave 103f965182 Add github workflow for JDK 18-ea build 2021-12-07 14:51:53 +13:00
Rob Bygrave d28d9a6176 Follow up to #2448 - Fix maven warning 2021-12-07 14:47:49 +13:00
Rob BygraveandGitHub 173b81a64b Merge pull request #2448 from FOCONIS/fix-pom
Fix maven warning
2021-12-07 14:43:03 +13:00
Rob BygraveandGitHub 135b1e3b57 Merge pull request #2450 from carldea/master
Using TCK Tested JDK builds of OpenJDK Making the switch to Zulu
2021-12-07 14:20:57 +13:00
Carl DeaandGitHub 888109d706 Using TCK Tested JDK builds of OpenJDK
The AdoptOpenJDK has been discontinued since July 2021 (https://adoptopenjdk.net). Switching the distribution to Azul Zulu. When using Zulu you get all the latest updated (TCK Tested) builds for all versions of OpenJDK.
2021-12-06 15:00:49 -05:00
Carl DeaandGitHub 8cd6d50def Using TCK Tested JDK builds of OpenJDK
The AdoptOpenJDK has been discontinued since July 2021 (https://adoptopenjdk.net). Switching the distribution to Azul Zulu. When using Zulu you get all the latest updated (TCK Tested) builds for all versions of OpenJDK
2021-12-06 14:59:41 -05:00
Roland Praml 272b316ecc some more changes 2021-12-02 11:29:45 +01:00
Roland Praml e95edad04b Fix maven warning 2021-12-02 11:23:38 +01:00
Roland Praml f830662cce Improve TypeManager - cache typeNotFound information. 2021-12-02 11:18:22 +01:00
Roland Praml 84ac737ceb ADD: Testcase for Calendar 2021-12-02 10:42:49 +01:00
Roland Praml 483f0398b2 Fix: 'No ScalarType registered for class java.util.GregorianCalendar' - check all registered scalar type if no exact match was found 2021-12-02 08:30:24 +01:00
Rob Bygrave d934d44164 update README adding more badges 2021-12-01 22:14:11 +13:00
Rob Bygrave a2ad1aaf6e update test github workflows 2021-12-01 17:51:04 +13:00
Rob Bygrave a0b6a13e6c update test github workflows for sqlserver and mariadb 2021-12-01 17:27:26 +13:00
Rob Bygrave a65340b939 update test github workflows for sqlserver and mariadb 2021-12-01 17:26:24 +13:00
Rob Bygrave 0279f8b1ad add some test github workflows for sqlserver and mariadb 2021-12-01 16:02:32 +13:00
Rob Bygrave bd2faed6a0 Update readme add badge for multi-jdk build 2021-12-01 15:54:01 +13:00
Rob Bygrave a0e2155ec2 add github workflow multi-jdk-build.yml 2021-12-01 15:44:17 +13:00
Rob Bygrave 5ff9171aaf Bump kotlin version to test against, use maven profiles for test module activation 2021-12-01 15:41:04 +13:00
Rob Bygrave 4d7936c1a6 add mariadb to multi-platform-test.yml 2021-12-01 13:54:55 +13:00
Rob Bygrave 552145db37 add sqlserver 2019 and 2017 testing to multi-platform-test.yml - adjust port for 2017 2021-12-01 13:17:54 +13:00
Rob Bygrave 0504cdc2d8 add sqlserver 2019 and 2017 testing to multi-platform-test.yml 2021-12-01 13:00:36 +13:00
Rob Bygrave a380b609cd add git workflow multi-platform-test 2021-12-01 09:55:22 +13:00
Rob Bygrave 65ac083872 add git workflow multi-platform-test 2021-12-01 09:52:59 +13:00
Rob Bygrave a82dca24da changed generated migrations from db2 change in #2445 2021-12-01 09:52:39 +13:00
Rob BygraveandGitHub 466a616f3e Merge pull request #2445 from FOCONIS/improve-testing
Improve testing, add DB2 Docker testing support to ebean-test
2021-12-01 09:35:45 +13:00
Rob BygraveandGitHub a0552387f8 Merge pull request #2446 from FOCONIS/fix-count-distinc-order-no-ordering
NPE Fix with .setCountDistinct(CountDistinctOrder.NO_ORDERING)
2021-12-01 09:28:54 +13:00
Noemi Szemenyei 25bc0e947d NPE Fix with .setCountDistinct(CountDistinctOrder.NO_ORDERING) 2021-11-30 10:21:34 +01:00
Jonas Pöhler c67e66c0ca Merge remote-tracking branch 'ebean/master' into pr/enh/stored_procedures_mysql_drop_column 2021-11-26 15:58:50 +01:00
Jonas Pöhler b60f9201a9 FIX: MysqlGenerateMigrationTest now clears pendingDrops System-Property 2021-11-26 15:58:20 +01:00
Roland Praml f8253a1252 add ebean-test properties for various containers and adjusted documentation 2021-11-26 15:32:11 +01:00
Roland Praml 2581d82cff FIX: Sqlite does not support ResultSetConcurrencyModeUpdatable 2021-11-26 15:02:46 +01:00
Roland Praml 331ea90e14 Fix: Support conversion of varchar[](300) array type for Clickhouse 2021-11-26 15:02:01 +01:00
Roland Praml dfb1d6ab54 ADD: Db2 container support 2021-11-26 15:01:15 +01:00
Roland Praml 067f4bfdea ADD JDBC-drivers to POM 2021-11-26 14:55:28 +01:00
Rob Bygrave 0a71ad624e [maven-release-plugin] prepare for next development iteration 2021-11-26 21:57:10 +13:00
Rob Bygrave 09115a824d [maven-release-plugin] prepare release ebean-parent-12.13.1 2021-11-26 21:57:04 +13:00
Rob Bygrave 28d4d07966 test config only, stop dumping metrics on jvm shutdown 2021-11-26 21:52:40 +13:00
Rob Bygrave c3e91fed65 Tidy TestElementCollectionBasicSet only 2021-11-26 21:33:26 +13:00
Rob Bygrave 2cad98ad26 Move DetermineManyType into io.ebeaninternal.server.deploy.parse
This allows it to be package private
2021-11-26 21:25:54 +13:00
Rob Bygrave 8a25a7b6ec #2444 - exists and findCount queries produce NPE on entity defined with IdClass - SqlTreeProperties.add(SqlTreeProperties.java:38) 2021-11-26 21:10:31 +13:00
Rob Bygrave 83fbfd1b2a No effective change - tidy inline for ImportedIdEmbedded, ImportedIdSimple 2021-11-26 20:54:28 +13:00
Rob Bygrave a9c6cd15a1 #2433 - Postgres JSONB dirty checking - trim json 2021-11-26 16:39:09 +13:00
Rob Bygrave 63b9b42dc8 #2433 - Postgres JSONB dirty checking - trim json 2021-11-26 16:34:15 +13:00
Rob Bygrave 268146df85 Tidy up TypeManager API after #2435 2021-11-26 14:55:16 +13:00
Rob Bygrave d05a77e755 reset test datasource back to h2 2021-11-26 14:48:45 +13:00
Rob Bygrave 69c768b3be Merge branch 'majkiw-master' 2021-11-26 14:46:42 +13:00
Rob Bygrave 07f9bf98c3 #2436 - SQL Update doesn't handle named parameters for array types in Postgres 2021-11-26 14:46:06 +13:00
Rob Bygrave 9af64f61f7 #2435 - Fix DBArray is not loaded in asDto Postgres queries 2021-11-26 14:32:47 +13:00
Rob Bygrave c1a78d3c8b Merge branch 'master' of https://github.com/majkiw/ebean into majkiw-master 2021-11-25 18:53:28 +13:00
Rob Bygrave 08fc7399ec Tidy DefaultTypeManager with enhanced for 2021-11-25 18:30:00 +13:00
Rob Bygrave 86d805c9fa Tidy internals only for OrmQueryRequest after merge of #2442 2021-11-22 15:21:03 +13:00
Rob BygraveandGitHub 34135360ed Merge pull request #2442 from FOCONIS/findmap-with-beancache-without-mapkey
findMap() with beanCache should use idPoperty if mapKey = null
2021-11-22 15:15:07 +13:00
Rob Bygrave 53b4d6fd73 Merge branch 'FOCONIS-assume-infoInherit-infoType-without-children' 2021-11-22 15:12:29 +13:00
Rob Bygrave 1114ccfb3a #2441 Flatten and re-order if block in AssocOneHelpRefInherit when determining BeanDescriptor 2021-11-22 15:12:18 +13:00
Rob Bygrave b4403c58d1 Merge branch 'assume-infoInherit-infoType-without-children' of https://github.com/FOCONIS/ebean into FOCONIS-assume-infoInherit-infoType-without-children 2021-11-22 15:06:34 +13:00
Rob Bygrave 951903db76 Merge branch 'FOCONIS-json-deserialize-references' 2021-11-22 15:00:14 +13:00
Rob Bygrave 093d111524 #2440 - Re-use existing referenceIdPropertyOnly() method 2021-11-22 14:59:40 +13:00
Rob Bygrave 08e166a9b7 Merge branch 'json-deserialize-references' of https://github.com/FOCONIS/ebean into FOCONIS-json-deserialize-references 2021-11-22 14:51:21 +13:00
Rob Bygrave d5fe7a9ebe Whitespace format only - OrmQueryPropertiesParser 2021-11-22 10:23:27 +13:00
Rob BygraveandGitHub 9f52856343 Merge pull request #2439 from FOCONIS/path-properties-query-with-all-props
Path properties query with all props
2021-11-22 09:15:08 +13:00
Rob BygraveandGitHub 0b529603c4 Merge pull request #2438 from FOCONIS/type-get-all-for-repeated-annotations
FIX: typeGetAll did not work with repeated annotations on one class
2021-11-22 09:01:06 +13:00
Noemi Szemenyei 60d0a3da39 findMap() with beanCache should use idPoperty if mapKey = null 2021-11-19 11:53:37 +01:00
Noemi Szemenyei 1c224444c0 Assume InfoInherit infoType when it has no children 2021-11-16 13:44:53 +01:00
Jonas PöhlerandNoemi Szemenyei d3e07defa0 FIX: Json deserialize references 2021-11-16 11:57:30 +01:00
Noemi Szemenyei 1b5d379ed3 Fix for Query with PathProperties (*,x(y)) 2021-11-16 11:45:18 +01:00
Noemi Szemenyei b90393a691 Unittest for select Query with (*,x(y)) 2021-11-16 11:39:14 +01:00
Jonas PöhlerandNoemi Szemenyei 2d26740286 FIX: typeGetAll did not work with repeated annotations on one class 2021-11-16 11:24:22 +01:00
Rob Bygrave 5807874c9e [maven-release-plugin] prepare for next development iteration 2021-11-04 11:19:32 +13:00
Rob Bygrave ea7b4e8162 [maven-release-plugin] prepare release ebean-parent-12.13.0 2021-11-04 11:19:25 +13:00
Rob Bygrave 43742fdc0b Bump version to 12.13.0-SNAPSHOT 2021-11-04 11:16:50 +13:00
Rob Bygrave 8ef71bd451 Bump version to 12.13.0-SNAPSHOT 2021-11-04 11:02:45 +13:00
Rob Bygrave 0f60e2240c Bump version to 12.13.0-SNAPSHOT 2021-11-04 10:57:48 +13:00
Rob Bygrave 2cbb161ed5 Follow up to #2437 - Rename internal "dead/alive" to "replaced" 2021-11-04 10:40:04 +13:00
Rob BygraveandGitHub a47caec85b Merge pull request #2437 from FOCONIS/fix-persistence-context
FIX: Subsequent findEach / findList does not work reliable [Fixes regression in 12.3.3]
2021-11-04 09:59:31 +13:00
Roland Praml fd1b5f58bc FIX: Subsequent findEach / findList does not work reliable (Regression of #2411) 2021-11-03 11:34:04 +01:00
Michal Wysocki 39a4035f3b Extra assertions for DBArray in asDTO and sqlUpdate 2021-11-02 13:25:42 +01:00
Rob Bygrave 0bb7d79015 Tidy build.yml 2021-10-28 22:40:10 +13:00
Rob BygraveandGitHub 9907cffe6e Update README.md 2021-10-28 22:38:48 +13:00
Rob Bygrave 704a138ff0 Tidy build.yml and TestExtraScalarTypes 2021-10-28 22:34:55 +13:00
Rob Bygrave f3cab4ee10 Merge branch 'master' of github.com:ebean-orm/ebean 2021-10-28 22:33:48 +13:00
Rob Bygrave d507452d63 Fix test TestExtraScalarTypes for github workflows build 2021-10-28 22:33:28 +13:00
Rob BygraveandGitHub 893aa6cb1a Update build.yml 2021-10-28 22:26:13 +13:00
Rob BygraveandGitHub e92fd2ef06 Add github workflows build.yml 2021-10-28 22:19:24 +13:00
Rob BygraveandGitHub bdad8b258a Merge pull request #2427 from FOCONIS/bug-reload-fails-on-partial-beans
FIX: When a bean is modified in persistence context and searched again, it will loose the change
2021-10-22 16:17:31 +13:00
Rob Bygrave a6cdf8d6dc Turn off nexus.staging.autoReleaseAfterClose 2021-10-22 10:52:16 +13:00
Rob Bygrave e232c724c0 maven.deploy.skip test modules and fix agent versions 2021-10-22 10:49:57 +13:00
Roland Praml d55023dbc7 FIX: When a bean is modified in persistence context and searched again, it will loose the change 2021-10-21 16:50:53 +02:00
Rob Bygrave fa4e013692 [maven-release-plugin] prepare for next development iteration 2021-10-21 21:36:29 +13:00
Rob Bygrave 08502d7315 [maven-release-plugin] prepare release ebean-parent-12.12.3 2021-10-21 21:36:21 +13:00
Rob Bygrave 6f4bc0ac2c Prepare release, comment out extra test modules 2021-10-21 21:33:16 +13:00
Rob Bygrave 5585866e82 Prepare release, comment out extra test modules 2021-10-21 14:07:27 +13:00
Rob Bygrave f21f6d9592 Prepare release, comment out extra test modules 2021-10-21 13:54:39 +13:00
Rob Bygrave 03e0519951 Refactor tidy internals for DefaultServer, rename descriptorManager 2021-10-21 13:41:58 +13:00
Rob Bygrave bc23d5829c Refactor tidy internals for DefaultPersister, BeanDescriptorManager etc 2021-10-21 13:30:32 +13:00
Rob Bygrave 64108aac40 #2424 Preserve using PersistenceException when transaction register(Callback) called with no active transaction 2021-10-21 12:12:02 +13:00
Rob Bygrave fcda419abb #2424 Preserve using PersistenceException when transaction register(Callback) called with no active transaction 2021-10-21 12:06:45 +13:00
Rob Bygrave 4d34c9e868 #2424 Change error for transaction register(Callback) when no active transaction from PersistenceException to NullPointerException
Ah ok, so in being more strict on null for currentTransaction() that shows up the code that registers transaction callbacks as checking for null and throwing PersistenceException. This is inconsistent with LOTS of other methods that use currentTransaction() and would result in NPE.

The concept here is that PersistenceException for this case isn't better than NPE and NPE is actually more consistence wrt using currentTransaction().
2021-10-21 12:02:42 +13:00
Rob Bygrave 5178b76431 Update internals migrate from deprecated methods baseTable() 2021-10-20 20:07:54 +13:00
Rob Bygrave 8fb02662e6 #2423 Add @Nullable on single bean publish and restore by id 2021-10-20 20:06:59 +13:00
Rob Bygrave 1aac63771d #2423 Tidy up DefaultServer internals getting descriptor 2021-10-20 19:58:11 +13:00
Rob Bygrave 3a138c3462 Tidy internals only - improve DefaultServer parameter names 2021-10-20 16:07:43 +13:00
Rob Bygrave 30088f4de7 #2423 Tidy up DefaultServer internals with Objects.requireNonNull() 2021-10-20 15:53:50 +13:00
Rob BygraveandGitHub cc272bb950 Merge pull request #2423 from ebean-orm/feature/nonNullApi
Use @NonNullApi to explicitly reflect non-null return types and params by default
2021-10-20 15:47:44 +13:00
Rob Bygrave b3ee982b64 Use @NonNullApi to explicitly reflect non-null return types and params by default 2021-10-20 15:45:20 +13:00
Rob Bygrave 92a13ad265 Remove pom releaseBackup files that should not be there 2021-10-20 09:52:06 +13:00
Rob Bygrave a445557ec3 #2422 - Remove extraneous jsr 305 @Nonnull 2021-10-19 17:59:25 +13:00
Rob Bygrave c7bb027c7d #2422 - Remove extraneous jsr 305 @Nonnull 2021-10-19 17:33:23 +13:00
Rob Bygrave 709eb369c9 #2419 - Add explicit @Nullable on findOne() methods 2021-10-19 12:12:11 +13:00
Rob Bygrave 5a4924b6cb #2421 - Change database.diff() to return empty map rather than null with null bean argument 2021-10-19 11:58:29 +13:00
Rob Bygrave a61c73c62a #2418 #2420 BeanState.loadErrors() returns empty map
Change Database.beanState() to throw IllegalArgumentException when bean isn't an entity bean
2021-10-19 11:52:36 +13:00
Rob Bygrave 7862648b83 #2419 - Add explicit @Nullable on findOne() methods 2021-10-19 11:50:22 +13:00
Rob Bygrave fa252a1fe4 Javadoc for #2303 - bump to pgjdbc 42.3.0 2021-10-19 11:23:26 +13:00
Rob Bygrave add7a8c4ba Javadoc for #2303 - bump to pgjdbc 42.2.25
Noting that this version of pgjdbc has not been released yet. Guessing that this is the next release number.
2021-10-14 14:49:15 +13:00
Rob Bygrave 834c04bd33 Update Postgres test dependency only (#2303) 2021-10-13 09:45:00 +13:00
Rob Bygrave 9bda4ab5c7 #2303 - Add javadoc for notes on Postgres with "allQuotedIdentifiers = true" 2021-10-13 09:37:40 +13:00
Rob Bygrave d1ca7a30dc Merge branch 'FOCONIS-tidy-remove-readjson-resetContext' 2021-10-12 15:11:35 +13:00
Rob Bygrave cb67dd0f29 Merge branch 'tidy-remove-readjson-resetContext' of https://github.com/FOCONIS/ebean into FOCONIS-tidy-remove-readjson-resetContext 2021-10-12 15:11:23 +13:00
Rob Bygrave e173f6e9a9 Tidy only DefaultPersistenceContext after merge of #2411 2021-10-12 15:10:36 +13:00
Rob BygraveandGitHub 349cd01921 Merge pull request #2411 from ebean-orm/feature/weak-reference-persistence-context
Weak reference based persistence context for streaming queries
2021-10-12 14:39:47 +13:00
Rob BygraveandGitHub 8fa7fa6af3 Merge pull request #2413 from FOCONIS/feature/weak-reference-persistence-context
Change DefaultPersistenceContect to use beginIterate / endIterate
2021-10-12 14:34:05 +13:00
Rob Bygrave caf18565a0 [maven-release-plugin] prepare for next development iteration 2021-10-12 12:46:15 +13:00
Roland Praml 2f277938e5 Remove LoadContext.resetPersistenceContext 2021-10-11 17:48:09 +02:00
Roland Praml 5322ab3e7e Remove: ReadJson.resetContext as it is not used 2021-10-11 17:22:33 +02:00
Roland Praml 100832ddd9 Changed test to test pc.beginIterate / endIterate 2021-10-11 17:16:34 +02:00
Roland Praml 3f5009aa91 Use WeakReferences when in iterate query mode 2021-10-11 16:25:21 +02:00
Roland Praml 8dbd290119 Remove: ReadJson.resetContext as it is not used 2021-10-11 13:40:03 +02:00
Rob Bygrave ea3fb833a4 Weak reference based PersistenceContext for streaming queries 2021-10-11 22:48:18 +13:00
Jonas Pöhler 3fe521c53a Merge remote-tracking branch 'ebean/master' into pr/enh/stored_procedures_mysql_drop_column 2021-09-29 16:13:49 +02:00
Jonas Pöhler 091b5fbf26 Optionally allow use of stored procedures for MySql to drop columns in db migration 2021-09-27 17:08:22 +02:00
1947 changed files with 34874 additions and 16647 deletions
+40
View File
@@ -0,0 +1,40 @@
name: Build
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: Maven version
run: mvn --version
# - name: Maven single test
# run: mvn --batch-mode clean verify -Dtest="io.ebeaninternal.server.core.DefaultServer_getReferenceTest" -DfailIfNoTests=false
- name: Build with Maven
run: mvn clean package
+38
View File
@@ -0,0 +1,38 @@
name: DB2 LUW
on:
workflow_dispatch:
schedule:
- cron: '10 8 * * 2,5'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: db2
run: mvn clean test -Dprops.file=testconfig/ebean-db2.properties
+41
View File
@@ -0,0 +1,41 @@
name: H2Database
on:
workflow_dispatch:
schedule:
- cron: '10 1 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: Maven version
run: mvn --version
- name: H2Database
run: mvn clean package
+39
View File
@@ -0,0 +1,39 @@
name: JDK 18-ea
on:
workflow_dispatch:
schedule:
- cron: '30 6 * * 1,3,5'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [18-ea]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: Build with Maven
run: mvn package
+41
View File
@@ -0,0 +1,41 @@
name: ebean EA
on:
workflow_dispatch:
schedule:
- cron: '39 6 * * 1,3,5'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
## valhalla - failing on javadoc with:
## javadoc: error - The code being documented uses packages in the unnamed module, but the packages defined in https://ebean.io/platforms/ebean-platform-h2/apidocs/ are in named modules.
java_version: [GA,EA,loom,metropolis,panama]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: oracle-actions/setup-java@v1
with:
website: jdk.java.net
release: ${{ matrix.java_version }}
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: Build with Maven
run: mvn package
+38
View File
@@ -0,0 +1,38 @@
name: MariaDB
on:
workflow_dispatch:
schedule:
- cron: '10 7 * * 1,4'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: mariadb 10.6
run: mvn clean test -Dprops.file=testconfig/ebean-mariadb.properties
+51
View File
@@ -0,0 +1,51 @@
name: Multi-database platform
on: [workflow_dispatch]
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: h2database
run: mvn clean test
- name: postgres
run: mvn clean test -Dprops.file=testconfig/ebean-postgres.properties
- name: mysql
run: mvn clean test -Dprops.file=testconfig/ebean-mysql.properties
- name: mariadb
run: mvn clean test -Dprops.file=testconfig/ebean-mariadb.properties
- name: yugabyte
run: mvn clean test -Dprops.file=testconfig/ebean-yugabyte.properties
- name: sqlserver
run: mvn clean test -Dprops.file=testconfig/ebean-sqlserver17.properties
# - name: sqlserver19
# run: mvn clean test -Dprops.file=testconfig/ebean-sqlserver19.properties
# - name: db2
# run: mvn clean test -Dprops.file=testconfig/ebean-db2.properties
# - name: oracle
# run: mvn clean test -Dprops.file=testconfig/ebean-oracle.properties
+39
View File
@@ -0,0 +1,39 @@
name: Multi-JDK Build
on:
workflow_dispatch:
schedule:
- cron: '30 6 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11, 17]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: Build with Maven
run: mvn package
+38
View File
@@ -0,0 +1,38 @@
name: MySql
on:
workflow_dispatch:
schedule:
- cron: '20 6 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: mysql
run: mvn clean test -Dprops.file=testconfig/ebean-mysql.properties
+38
View File
@@ -0,0 +1,38 @@
name: Oracle18
on:
workflow_dispatch:
schedule:
- cron: '10 6 * * 1,4'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: oracle
run: mvn clean test -Dprops.file=testconfig/ebean-oracle.properties
+38
View File
@@ -0,0 +1,38 @@
name: Postgres
on:
workflow_dispatch:
schedule:
- cron: '10 6 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: postgres
run: mvn clean test -Dprops.file=testconfig/ebean-postgres.properties
+35
View File
@@ -0,0 +1,35 @@
name: SqlServer 2019
on: [workflow_dispatch]
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: sqlserver 2019 latest
run: mvn clean test -Dprops.file=testconfig/ebean-sqlserver19.properties
+38
View File
@@ -0,0 +1,38 @@
name: SqlServer
on:
workflow_dispatch:
schedule:
- cron: '10 7 * * 2,5'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: sqlserver 2017
run: mvn clean test -Dprops.file=testconfig/ebean-sqlserver17.properties
+38
View File
@@ -0,0 +1,38 @@
name: Yugabyte
on:
workflow_dispatch:
schedule:
- cron: '10 3 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
java_version: [11]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java_version }}
distribution: 'adopt'
- name: Maven cache
uses: actions/cache@v2
env:
cache-name: maven-cache
with:
path:
~/.m2
key: build-${{ env.cache-name }}
- name: yugabyte
run: mvn clean test -Dprops.file=testconfig/ebean-yugabyte.properties
+201
View File
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2012 Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-15
View File
@@ -1,15 +0,0 @@
EbeanORM
Copyright 2012 Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+26 -9
View File
@@ -1,5 +1,25 @@
[![Build Status](https://travis-ci.org/ebean-orm/ebean.svg?branch=master)](https://travis-ci.org/ebean-orm/ebean)
[![Build](https://github.com/ebean-orm/ebean/actions/workflows/build.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/build.yml)
[![Maven Central : ebean](https://maven-badges.herokuapp.com/maven-central/io.ebean/ebean/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.ebean/ebean)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/ebean-orm/ebean/blob/master/LICENSE)
[![Multi-JDK Build](https://github.com/ebean-orm/ebean/actions/workflows/multi-jdk-build.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/multi-jdk-build.yml)
[![JDK 18-ea](https://github.com/ebean-orm/ebean/actions/workflows/jdk-18-ea.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/jdk-18-ea.yml)
[![H2Database](https://github.com/ebean-orm/ebean/actions/workflows/h2database.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/h2database.yml)
[![Postgres](https://github.com/ebean-orm/ebean/actions/workflows/postgres.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/postgres.yml)
[![MySql](https://github.com/ebean-orm/ebean/actions/workflows/mysql.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/mysql.yml)
[![MariaDB](https://github.com/ebean-orm/ebean/actions/workflows/mariadb.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/mariadb.yml)
[![SqlServer](https://github.com/ebean-orm/ebean/actions/workflows/sqlserver.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/sqlserver.yml)
[![Yugabyte](https://github.com/ebean-orm/ebean/actions/workflows/yugabyte.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/yugabyte.yml)
#### Builds against EA (Early Access) versions of Java (19, Loom, panama etc)
[![ebean EA](https://github.com/ebean-orm/ebean/actions/workflows/jdk-ea.yml/badge.svg)](https://github.com/ebean-orm/ebean/actions/workflows/jdk-ea.yml)
[![datasource EA](https://github.com/ebean-orm/ebean-datasource/actions/workflows/jdk-ea.yml/badge.svg)](https://github.com/ebean-orm/ebean-datasource/actions/workflows/jdk-ea.yml)
[![migration EA](https://github.com/ebean-orm/ebean-migration/actions/workflows/jdk-ea.yml/badge.svg)](https://github.com/ebean-orm/ebean-migration/actions/workflows/jdk-ea.yml)
[![test-docker EA](https://github.com/ebean-orm/ebean-test-docker/actions/workflows/jdk-ea.yml/badge.svg)](https://github.com/ebean-orm/ebean-test-docker/actions/workflows/jdk-ea.yml)
[![ebean-agent EA](https://github.com/ebean-orm/ebean-agent/actions/workflows/jdk-ea.yml/badge.svg)](https://github.com/ebean-orm/ebean-agent/actions/workflows/jdk-ea.yml)
# Sponsors
<table>
@@ -29,18 +49,15 @@
</tbody>
</table>
# Need help?
## Need help?
Post questions or issues to the Ebean google group - https://groups.google.com/forum/#!forum/ebean
# Documentation
## Documentation
Goto [https://ebean.io/docs/](https://ebean.io/docs/)
## Maven central links:
[Maven central - ebean](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.ebean%22%20AND%20a%3A%22ebean%22 "maven central ebean")
## Maven central
[Maven central - io.ebean](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.ebean%22%20)
[Maven central - all related projects](http://search.maven.org/#search%7Cga%7C1%7Cebean "maven central all related projects")
## Other versions
* [![Maven Central : ebean-agent](https://maven-badges.herokuapp.com/maven-central/io.ebean/ebean-agent/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.ebean/ebean-agent) - ebean-agent
* [![Maven Central : ebean-maven-plugin](https://maven-badges.herokuapp.com/maven-central/io.ebean/ebean-maven-plugin/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.ebean/ebean-maven-plugin) - ebean-maven-plugin
@@ -2,57 +2,51 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>ebean-parent</artifactId>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>12.12.2-SNAPSHOT</version>
<version>13.5.0</version>
</parent>
<name>ebean composite</name>
<description>Composite of common runtime dependencies</description>
<artifactId>ebean</artifactId>
<name>ebean-clickhouse</name>
<description>ebean-clickhouse composite</description>
<artifactId>ebean-clickhouse</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>12.12.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>12.12.2-SNAPSHOT</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>12.12.2-SNAPSHOT</version>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-clickhouse</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.24</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>io.avaje.tile:moditech-module:1.0</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.clickhouse.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.clickhouse {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.clickhouse;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-cockroach</name>
<description>ebean-cockroach composite</description>
<artifactId>ebean-cockroach</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-postgres</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.cockroach.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.cockroach {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.postgres;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-db2</name>
<description>ebean-db2 composite</description>
<artifactId>ebean-db2</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-db2</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.db2.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.db2 {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.db2;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-h2</name>
<description>ebean-h2 composite</description>
<artifactId>ebean-h2</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-h2</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.h2.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.h2 {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.h2;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-hana</name>
<description>ebean-hana composite</description>
<artifactId>ebean-hana</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-hana</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.hana.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.hana {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.hana;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-mariadb</name>
<description>ebean-mariadb composite</description>
<artifactId>ebean-mariadb</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-mariadb</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.mariadb.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.mariadb {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.mariadb;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-mysql</name>
<description>ebean-mysql composite</description>
<artifactId>ebean-mysql</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-mysql</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.mysql.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.mysql {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.mysql;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-nuodb</name>
<description>ebean-nuodb composite</description>
<artifactId>ebean-nuodb</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-nuodb</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.nuodb.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.nuodb {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.nuodb;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-oracle</name>
<description>ebean-oracle composite</description>
<artifactId>ebean-oracle</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-oracle</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.oracle.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.oracle {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.oracle;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-postgres</name>
<description>ebean-postgres composite</description>
<artifactId>ebean-postgres</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-postgres</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.postgres.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.postgres {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.postgres;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-sqlite</name>
<description>ebean-sqlite composite</description>
<artifactId>ebean-sqlite</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-sqlite</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.sqlite.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.sqlite {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.sqlite;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-sqlserver</name>
<description>ebean-sqlserver composite</description>
<artifactId>ebean-sqlserver</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-sqlserver</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.sqlserver.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.sqlserver {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.sqlserver;
}
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<name>ebean-yugabyte</name>
<description>ebean-yugabyte composite</description>
<artifactId>ebean-yugabyte</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-postgres</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -0,0 +1,7 @@
package io.ebean.yugabyte.assembly;
/**
* Nothing interesting here - required placeholder for javadoc.
*/
public class Assembly {
}
@@ -0,0 +1,9 @@
module io.ebean.yugabyte {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.postgres;
}
+26 -32
View File
@@ -2,57 +2,51 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>ebean-parent</artifactId>
<artifactId>composites</artifactId>
<groupId>io.ebean</groupId>
<version>12.12.2</version>
<version>13.5.0</version>
</parent>
<name>ebean composite</name>
<description>Composite of common runtime dependencies</description>
<name>ebean (all platforms)</name>
<description>composite of common runtime dependencies for all platforms</description>
<artifactId>ebean</artifactId>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>12.12.2</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>12.12.2</version>
</dependency>
<!-- Technically optional but most expected to use query beans -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-querybean</artifactId>
<version>12.12.2</version>
<version>13.5.0</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-platform-all</artifactId>
<version>13.5.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.24</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>io.avaje.tile:moditech-module:1.0</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
<scm>
<tag>ebean-parent-13.5.0</tag>
</scm>
</project>
@@ -2,6 +2,7 @@ module io.ebean {
requires transitive io.ebean.api;
requires transitive io.ebean.core;
requires transitive io.ebean.datasource;
requires transitive io.ebean.querybean;
requires transitive io.ebean.platform.all;
}
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>ebean-parent</artifactId>
<groupId>io.ebean</groupId>
<version>13.5.0</version>
</parent>
<artifactId>composites</artifactId>
<packaging>pom</packaging>
<modules>
<module>ebean</module>
<module>ebean-clickhouse</module>
<module>ebean-cockroach</module>
<module>ebean-db2</module>
<module>ebean-h2</module>
<module>ebean-hana</module>
<!-- <module>hsqldb</module>-->
<module>ebean-mariadb</module>
<module>ebean-mysql</module>
<module>ebean-nuodb</module>
<module>ebean-oracle</module>
<module>ebean-postgres</module>
<!-- <module>sqlanywhere</module>-->
<module>ebean-sqlite</module>
<module>ebean-sqlserver</module>
<module>ebean-yugabyte</module>
</modules>
</project>
+6 -31
View File
@@ -4,7 +4,7 @@
<parent>
<artifactId>ebean-parent</artifactId>
<groupId>io.ebean</groupId>
<version>12.12.2</version>
<version>13.5.0</version>
</parent>
<name>ebean api</name>
@@ -27,7 +27,7 @@
<dependency>
<groupId>io.avaje</groupId>
<artifactId>avaje-config</artifactId>
<version>1.5</version>
<version>1.7</version>
</dependency>
<!--
@@ -36,9 +36,8 @@
-->
<dependency>
<groupId>io.avaje</groupId>
<artifactId>avaje-jsr305</artifactId>
<version>1.1</version>
<scope>provided</scope>
<artifactId>avaje-lang</artifactId>
<version>1.0</version>
</dependency>
<dependency>
@@ -50,7 +49,7 @@
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-annotation</artifactId>
<version>7.3</version>
<version>8.0</version>
</dependency>
<dependency>
@@ -81,15 +80,6 @@
<optional>true</optional>
</dependency>
<!-- Provided scope so that the H2HistoryTrigger can live in Ebean core
and not require a separate module for it -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
@@ -107,25 +97,10 @@
<dependency>
<groupId>io.avaje</groupId>
<artifactId>junit</artifactId>
<version>1.0</version>
<version>1.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.24</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>io.avaje.tile:moditech-module:1.0</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
-131
View File
@@ -1,131 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>ebean-parent</artifactId>
<groupId>io.ebean</groupId>
<version>12.12.2-SNAPSHOT</version>
</parent>
<name>ebean api</name>
<description>ebean api</description>
<artifactId>ebean-api</artifactId>
<dependencies>
<!--
Projects are expected to explicit depend on version
of slf4j that they want to use
-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.avaje</groupId>
<artifactId>avaje-config</artifactId>
<version>1.5</version>
</dependency>
<!--
Class retention Nonnull and Nullable annotations
to assist with IDE auto-completion with Ebean API
-->
<dependency>
<groupId>io.avaje</groupId>
<artifactId>avaje-jsr305</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>persistence-api</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-annotation</artifactId>
<version>7.3</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-types</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-datasource-api</artifactId>
<version>${ebean-datasource.version}</version>
</dependency>
<!-- Jackson core used internally by Ebean -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
<optional>true</optional>
</dependency>
<!-- provided scope for JsonNode support -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
<optional>true</optional>
</dependency>
<!-- Provided scope so that the H2HistoryTrigger can live in Ebean core
and not require a separate module for it -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.avaje</groupId>
<artifactId>junit</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.24</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>io.avaje.tile:moditech-module:1.0</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
@@ -1,5 +1,7 @@
package io.ebean;
import io.avaje.lang.NonNullApi;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.ScheduledExecutorService;
@@ -18,6 +20,7 @@ import java.util.concurrent.TimeUnit;
* This also propagates MDC context from the current thread to the
* background task if defined.
*/
@NonNullApi
public interface BackgroundExecutor {
/**
@@ -36,26 +39,6 @@ public interface BackgroundExecutor {
*/
void execute(Runnable task);
/**
* Deprecated - migrate to scheduleWithFixedDelay().
* Execute a task periodically with a fixed delay between each execution.
* <p>
* For example, execute a runnable every minute.
* <p>
* The delay is the time between executions no matter how long the task took.
* That is, this method has the same behaviour characteristics as
* {@link ScheduledExecutorService#scheduleWithFixedDelay(Runnable, long, long, TimeUnit)}
*/
@Deprecated
void executePeriodically(Runnable task, long delay, TimeUnit unit);
/**
* Deprecated - migrate to scheduleWithFixedDelay().
* Execute a task periodically additionally with an initial delay different from delay.
*/
@Deprecated
void executePeriodically(Runnable task, long initialDelay, long delay, TimeUnit unit);
/**
* Execute a task periodically with a given delay.
*
@@ -1,7 +1,7 @@
package io.ebean;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import java.util.List;
import java.util.Optional;
@@ -27,10 +27,10 @@ import java.util.Optional;
* @param <I> The ID type
* @param <T> The Bean type
*/
@NonNullApi
public abstract class BeanFinder<I,T> {
protected final Database server;
protected final Class<T> type;
/**
@@ -81,7 +81,6 @@ public abstract class BeanFinder<I,T> {
* <p>
* Equivalent to {@link Database#reference(Class, Object)}
*/
@Nonnull
public T ref(I id) {
return db().reference(type, id);
}
@@ -97,7 +96,6 @@ public abstract class BeanFinder<I,T> {
/**
* Find an entity by ID returning an Optional.
*/
@Nullable
public Optional<T> findByIdOrEmpty(I id) {
return db().find(type).setId(id).findOneOrEmpty();
}
@@ -112,7 +110,6 @@ public abstract class BeanFinder<I,T> {
/**
* Retrieves all entities of the given type.
*/
@Nonnull
public List<T> findAll() {
return query().findList();
}
@@ -1,5 +1,6 @@
package io.ebean;
import io.avaje.lang.NonNullApi;
import io.ebean.bean.EntityBean;
import java.util.Collection;
@@ -31,6 +32,7 @@ import java.util.Collection;
* @param <I> The ID type
* @param <T> The Bean type
*/
@NonNullApi
public abstract class BeanRepository<I, T> extends BeanFinder<I, T> {
/**
@@ -1,6 +1,5 @@
package io.ebean;
import javax.annotation.Nullable;
import java.util.Map;
import java.util.Set;
@@ -75,40 +74,16 @@ public interface BeanState {
*/
Set<String> loadedProps();
/**
* Deprecated migrate to loadedProps().
*/
@Deprecated
default Set<String> getLoadedProps() {
return loadedProps();
}
/**
* Return the set of changed properties.
*/
Set<String> changedProps();
/**
* Deprecated migrate to changedProps().
*/
@Deprecated
default Set<String> getChangedProps() {
return changedProps();
}
/**
* Return a map of the updated properties and their new and old values.
*/
Map<String, ValuePair> dirtyValues();
/**
* Deprecated migrate to dirtyValues().
*/
@Deprecated
default Map<String, ValuePair> getDirtyValues() {
return dirtyValues();
}
/**
* Return true if the bean is readOnly.
* <p>
@@ -138,27 +113,11 @@ public interface BeanState {
/**
* Returns a map with load errors.
*/
@Nullable
Map<String, Exception> loadErrors();
/**
* Deprecated migrate to loadErrors().
*/
@Deprecated
default Map<String, Exception> getLoadErrors() {
return loadErrors();
}
/**
* Return the sort order value for an order column.
*/
int sortOrder();
/**
* Deprecated migrate to sortOrder().
*/
@Deprecated
default int getSortOrder() {
return sortOrder();
}
}
+23 -214
View File
@@ -1,13 +1,13 @@
package io.ebean;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import io.ebean.annotation.TxIsolation;
import io.ebean.cache.ServerCacheManager;
import io.ebean.plugin.Property;
import io.ebean.text.csv.CsvReader;
import io.ebean.text.json.JsonContext;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.persistence.OptimisticLockException;
import javax.persistence.PersistenceException;
import java.util.Collection;
@@ -22,10 +22,9 @@ import java.util.concurrent.Callable;
* DB additionally provides a convenient way to use the 'default' Database.
* <p>
* <h3>Default database</h3>
* <p>
* One of the Database instances can be registered as the "default database"
* and can be obtained using <code>DB.getDefault()</code>
* </p>
*
* <pre>{@code
*
* Database database = DB.getDefault();
@@ -36,7 +35,7 @@ import java.util.concurrent.Callable;
* <p>
* Multiple database instances can be registered with DB and we can obtain them
* using <code>DB.byName()</code>
* </p>
*
* <pre>{@code
*
* Database hrDatabase = DB.byName("hr");
@@ -47,7 +46,6 @@ import java.util.concurrent.Callable;
* <p>
* DB has methods like {@link #find(Class)} and {@link #save(Object)} which are
* just convenience for using the default database.
* </p>
*
* <pre>{@code
*
@@ -60,6 +58,7 @@ import java.util.concurrent.Callable;
*
* }</pre>
*/
@NonNullApi
public final class DB {
private static final DbContext context = DbContext.getInstance();
@@ -116,39 +115,26 @@ public final class DB {
* build the WHERE and HAVING clauses. Alternatively you can use the
* ExpressionFactory directly to create expressions to add to the query where
* clause.
* </p>
* <p>
* Alternatively you can use the {@link Expr} as a shortcut to the
* ExpressionFactory of the 'Default' database.
* </p>
* <p>
* You generally need to the an ExpressionFactory (or {@link Expr}) to build
* an expression that uses OR like Expression e = Expr.or(..., ...);
* </p>
*/
public static ExpressionFactory expressionFactory() {
return getDefault().expressionFactory();
}
/**
* Deprecated migrate to expressionFactory().
*/
@Deprecated
public static ExpressionFactory getExpressionFactory() {
return expressionFactory();
}
/**
* Return the next identity value for a given bean type.
* <p>
* This will only work when a IdGenerator is on this bean type such as a DB
* sequence or UUID.
* </p>
* <p>
* For DB's supporting getGeneratedKeys and sequences such as Oracle10 you do
* not need to use this method generally. It is made available for more
* complex cases where it is useful to get an ID prior to some processing.
* </p>
*/
public static Object nextId(Class<?> beanType) {
return getDefault().nextId(beanType);
@@ -158,17 +144,14 @@ public final class DB {
* Start a transaction with 'REQUIRED' semantics.
* <p>
* With REQUIRED semantics if an active transaction already exists that transaction will be used.
* </p>
* <p>
* The transaction is stored in a ThreadLocal variable and typically you only
* need to use the returned Transaction <em>IF</em> you wish to do things like
* use batch mode, change the transaction isolation level, use savepoints or
* log comments to the transaction log.
* </p>
* <p>
* Example of using a transaction to span multiple calls to find(), save()
* etc.
* </p>
* Example of using a transaction to span multiple calls to find(), save() etc.
*
* <pre>{@code
*
* try (Transaction transaction = DB.beginTransaction()) {
@@ -186,7 +169,6 @@ public final class DB {
* With Database we can pass the transaction to the various find(), save() and execute()
* methods. This gives us the ability to create the transactions externally from Ebean
* and use the transaction explicitly via the various methods available on Database.
* </p>
*/
public static Transaction beginTransaction() {
return getDefault().beginTransaction();
@@ -198,7 +180,6 @@ public final class DB {
* You will want to do this if you want multiple Transactions in a single
* thread or generally use transactions outside of the TransactionThreadLocal
* management.
* </p>
*/
public static Transaction createTransaction() {
return getDefault().createTransaction();
@@ -218,7 +199,6 @@ public final class DB {
* <p>
* Note that this provides an try finally alternative to using {@link #executeCall(TxScope, Callable)} or
* {@link #execute(TxScope, Runnable)}.
* </p>
* <p>
* <h3>REQUIRES_NEW example:</h3>
* <pre>{@code
@@ -277,7 +257,7 @@ public final class DB {
/**
* Register a TransactionCallback on the currently active transaction.
* <p/>
* <p>
* If there is no currently active transaction then a PersistenceException is thrown.
*
* @param transactionCallback the transaction callback to be registered with the current transaction
@@ -306,14 +286,12 @@ public final class DB {
* rollback the transaction.
* <p>
* It is preferable to use <em>try with resources</em> rather than this.
* </p>
* <p>
* Useful to put in a finally block to ensure the transaction is ended, rather
* than a rollbackTransaction() in each catch block.
* </p>
* <p>
* Code example:
* </p>
*
* <pre>{@code
* DB.beginTransaction();
* try {
@@ -344,7 +322,6 @@ public final class DB {
* <p>
* When null is passed in for b, then the 'OldValues' of a is used for the
* difference comparison.
* </p>
*/
public static Map<String, ValuePair> diff(Object a, Object b) {
return getDefault().diff(a, b);
@@ -355,18 +332,15 @@ public final class DB {
* <p>
* If there is no current transaction one will be created and committed for
* you automatically.
* </p>
* <p>
* Save can cascade along relationships. For this to happen you need to
* specify a cascade of CascadeType.ALL or CascadeType.PERSIST on the
* OneToMany, OneToOne or ManyToMany annotation.
* </p>
* <p>
* When a save cascades via a OneToMany or ManyToMany Ebean will automatically
* set the 'parent' object to the 'detail' object. In the example below in
* saving the order and cascade saving the order details the 'parent' order
* will be set against each order detail when it is saved.
* </p>
*/
public static void save(Object bean) throws OptimisticLockException {
getDefault().save(bean);
@@ -417,11 +391,9 @@ public final class DB {
* <b>Stateless updates:</b> Note that the bean does not have to be previously fetched to call
* update().You can create a new instance and set some of its properties programmatically for via
* JSON/XML marshalling etc. This is described as a 'stateless update'.
* </p>
* <p>
* <b>Optimistic Locking: </b> Note that if the version property is not set when update() is
* called then no optimistic locking is performed (internally ConcurrencyMode.NONE is used).
* </p>
* <p>
* <pre>{@code
*
@@ -523,15 +495,13 @@ public final class DB {
* @param bean The entity bean to check uniqueness on
* @return a set of Properties if constraint validation was detected or empty list.
*/
@Nonnull
public static Set<Property> checkUniqueness(Object bean) {
return getDefault().checkUniqueness(bean);
}
/**
* Same as {@link #checkUniqueness(Object)}. but with given transaction.
* Same as {@link #checkUniqueness(Object)} but with given transaction.
*/
@Nonnull
public static Set<Property> checkUniqueness(Object bean, Transaction transaction) {
return getDefault().checkUniqueness(bean, transaction);
}
@@ -540,20 +510,16 @@ public final class DB {
* Delete the bean.
* <p>
* This will return true if the bean was deleted successfully or JDBC batch is being used.
* </p>
* <p>
* If there is no current transaction one will be created and committed for
* you automatically.
* </p>
* <p>
* If the bean is configured with <code>@SoftDelete</code> then this will perform a soft
* delete rather than a hard/permanent delete.
* </p>
* <p>
* If the Bean does not have a version property (or loaded version property) and
* the bean does not exist then this returns false indicating that nothing was
* deleted. Note that, if JDBC batch mode is used then this always returns true.
* </p>
*/
public static boolean delete(Object bean) throws OptimisticLockException {
return getDefault().delete(bean);
@@ -613,7 +579,6 @@ public final class DB {
* <p>
* Note that this resets OneToMany and ManyToMany properties so that if they
* are accessed a lazy load will refresh the many property.
* </p>
*/
public static void refresh(Object bean) {
getDefault().refresh(bean);
@@ -621,6 +586,7 @@ public final class DB {
/**
* Refresh a 'many' property of a bean.
*
* <pre>{@code
*
* Order order = ...;
@@ -641,7 +607,7 @@ public final class DB {
* Get a reference object.
* <p>
* This is sometimes described as a proxy (with lazy loading).
* </p>
*
* <pre>{@code
*
* Product product = DB.getReference(Product.class, 1);
@@ -662,14 +628,6 @@ public final class DB {
return getDefault().reference(beanType, id);
}
/**
* Deprecated migrate to beanId().
*/
@Deprecated
public static <T> T getReference(Class<T> beanType, Object id) {
return reference(beanType, id);
}
/**
* Sort the list using the sortByClause which can contain a comma delimited
* list of property names and keywords asc, desc, nullsHigh and nullsLow.
@@ -685,7 +643,7 @@ public final class DB {
* <p>
* Note that the sorting uses a Comparator and Collections.sort(); and does
* not invoke a DB query.
* </p>
*
* <pre>{@code
*
* // find orders and their customers
@@ -720,9 +678,8 @@ public final class DB {
*
* }</pre>
* <p>
* If you want more control over the query then you can use createQuery() and
* Query.findOne();
* </p>
* If you want more control over the query then you can use createQuery() and Query.findOne();
*
* <pre>{@code
*
* // ... additionally fetching customer, customer shipping address,
@@ -762,40 +719,25 @@ public final class DB {
}
/**
* Look to execute a native sql query that does not returns beans but instead
* returns SqlRow or direct access to ResultSet (see {@link SqlQuery#findList(RowMapper)}.
*
* Look to execute a native sql query that does not return beans but instead
* returns SqlRow or uses {@link RowMapper}.
* <p>
* Refer to {@link DtoQuery} for native sql queries returning DTO beans.
* </p>
* <p>
* Refer to {@link #findNative(Class, String)} for native sql queries returning entity beans.
* </p>
*/
public static SqlQuery sqlQuery(String sql) {
return getDefault().sqlQuery(sql);
}
/**
* Deprecated - migrate to sqlQuery().
* <p>
* This is an alias for {@link #sqlQuery(String)}.
*/
@Deprecated
public static SqlQuery createSqlQuery(String sql) {
return sqlQuery(sql);
}
/**
* Look to execute a native sql insert update or delete statement.
* <p>
* Use this to execute a Insert Update or Delete statement. The statement will
* be native to the database and contain database table and column names.
* </p>
*
* <p>
* See {@link SqlUpdate} for example usage.
* </p>
*
* @return The SqlUpdate instance to set parameters and execute
*/
@@ -803,16 +745,6 @@ public final class DB {
return getDefault().sqlUpdate(sql);
}
/**
* Deprecated - migrate to sqlUpdate().
* <p>
* This is an alias for {@link #sqlUpdate(String)}.
*/
@Deprecated
public static SqlUpdate createSqlUpdate(String sql) {
return sqlUpdate(sql);
}
/**
* Create a CallableSql to execute a given stored procedure.
*
@@ -829,10 +761,9 @@ public final class DB {
* <p>
* The orm update differs from the sql update in that it you can use the bean
* name and bean property names rather than table and column names.
* </p>
* <p>
* An example:
* </p>
*
* <pre>{@code
*
* // The bean name and properties - "topic","postCount" and "id"
@@ -851,7 +782,6 @@ public final class DB {
* }</pre>
*/
public static <T> Update<T> createUpdate(Class<T> beanType, String ormUpdate) {
return getDefault().createUpdate(beanType, ormUpdate);
}
@@ -859,7 +789,6 @@ public final class DB {
* Create a CsvReader for a given beanType.
*/
public static <T> CsvReader<T> createCsvReader(Class<T> beanType) {
return getDefault().createCsvReader(beanType);
}
@@ -867,7 +796,6 @@ public final class DB {
* Create a named query.
* <p>
* For RawSql the named query is expected to be in ebean.xml.
* </p>
*
* @param beanType The type of entity bean
* @param namedQuery The name of the query
@@ -883,21 +811,17 @@ public final class DB {
* <p>
* You can use the methods on the Query object to specify fetch paths,
* predicates, order by, limits etc.
* </p>
* <p>
* You then use findList(), findSet(), findMap() and findOne() to execute
* the query and return the collection or bean.
* </p>
* <p>
* Note that a query executed by {@link Query#findList()} etc will execute against
* the same database from which is was created.
* </p>
*
* @param beanType the class of entity to be fetched
* @return A ORM Query for this beanType
*/
public static <T> Query<T> createQuery(Class<T> beanType) {
return getDefault().createQuery(beanType);
}
@@ -935,7 +859,6 @@ public final class DB {
* @return The query with expressions defined as per the parsed query statement
*/
public static <T> Query<T> createQuery(Class<T> beanType, String eql) {
return getDefault().createQuery(beanType, eql);
}
@@ -945,13 +868,11 @@ public final class DB {
* This is actually the same as {@link #createQuery(Class)}. The reason it
* exists is that people used to JPA will probably be looking for a
* createQuery method (the same as entityManager).
* </p>
*
* @param beanType the type of entity bean to find
* @return A ORM Query object for this beanType
*/
public static <T> Query<T> find(Class<T> beanType) {
return getDefault().find(beanType);
}
@@ -959,7 +880,7 @@ public final class DB {
* Create a query using native SQL.
* <p>
* The native SQL can contain named parameters or positioned parameters.
* </p>
*
* <pre>{@code
*
* String sql = "select c.id, c.name from customer c where c.name like ? order by c.name";
@@ -984,7 +905,6 @@ public final class DB {
* <p>
* DTO beans are just normal bean like classes with public constructor(s) and setters.
* They do not need to be registered with Ebean before use.
* </p>
*
* @param dtoType The type of the DTO bean the rows will be mapped into.
* @param sql The SQL query to execute.
@@ -1021,92 +941,19 @@ public final class DB {
* going back to the database.
* <p>
* This produces and returns a new list with the sort and filters applied.
* </p>
* <p>
* Refer to {@link Filter} for an example of its use.
* </p>
*/
public static <T> Filter<T> filter(Class<T> beanType) {
return getDefault().filter(beanType);
}
// /**
// * Execute a Sql Update Delete or Insert statement. This returns the number of
// * rows that where updated, deleted or inserted. If is executed in batch then
// * this returns -1. You can get the actual rowCount after commit() from
// * updateSql.getRowCount().
// * <p>
// * If you wish to execute a Sql Select natively then you should use the
// * FindByNativeSql object.
// * </p>
// * <p>
// * Note that the table modification information is automatically deduced and
// * you do not need to call the DB.externalModification() method when you
// * use this method.
// * </p>
// * <p>
// * Example:
// * </p>
// * <pre>{@code
// *
// * // example that uses 'named' parameters
// * String s = "UPDATE f_topic set post_count = :count where id = :id"
// *
// * SqlUpdate update = DB.createSqlUpdate(s);
// *
// * update.setParameter("id", 1);
// * update.setParameter("count", 50);
// *
// * int modifiedCount = DB.execute(update);
// *
// * String msg = "There where " + modifiedCount + "rows updated";
// *
// * }</pre>
// *
// * @param sqlUpdate the update sql potentially with bind values
// * @return the number of rows updated or deleted. -1 if executed in batch.
// * @see SqlUpdate
// * @see CallableSql
// * @see DB#execute(CallableSql)
// */
// public static int execute(SqlUpdate sqlUpdate) {
// return defaultDatabase().execute(sqlUpdate);
// }
//
// /**
// * For making calls to stored procedures.
// * <p>
// * Example:
// * </p>
// * <pre>{@code
// *
// * String sql = "{call sp_order_modify(?,?,?)}";
// *
// * CallableSql cs = DB.createCallableSql(sql);
// * cs.setParameter(1, 27);
// * cs.setParameter(2, "SHIPPED");
// * cs.registerOut(3, Types.INTEGER);
// *
// * DB.execute(cs);
// *
// * // read the out parameter
// * Integer returnValue = (Integer) cs.getObject(3);
// *
// * }</pre>
// *
// * @see CallableSql
// * @see Ebean#execute(SqlUpdate)
// */
// public static int execute(CallableSql callableSql) {
// return defaultDatabase().execute(callableSql);
// }
/**
* Execute a TxRunnable in a Transaction with an explicit scope.
* <p>
* The scope can control the transaction type, isolation and rollback
* semantics.
* </p>
*
* <pre>{@code
*
* // set specific transactional scope settings
@@ -1130,7 +977,7 @@ public final class DB {
* <p>
* The default scope runs with REQUIRED and by default will rollback on any
* exception (checked or runtime).
* </p>
*
* <pre>{@code
*
* DB.execute(() -> {
@@ -1155,7 +1002,7 @@ public final class DB {
* <p>
* The scope can control the transaction type, isolation and rollback
* semantics.
* </p>
*
* <pre>{@code
*
* // set specific transactional scope settings
@@ -1179,11 +1026,10 @@ public final class DB {
* <p>
* The default scope runs with REQUIRED and by default will rollback on any
* exception (checked or runtime).
* </p>
* <p>
* This is basically the same as TxRunnable except that it returns an Object
* (and you specify the return type via generics).
* </p>
*
* <pre>{@code
*
* DB.executeCall(() -> {
@@ -1212,23 +1058,19 @@ public final class DB {
* <p>
* If you use DB.execute(UpdateSql) then the table modification information
* is automatically deduced and you do not need to call this method yourself.
* </p>
* <p>
* This information is used to invalidate objects out of the cache and
* potentially text indexes. This information is also automatically broadcast
* across the cluster.
* </p>
* <p>
* If there is a transaction then this information is placed into the current
* transactions event information. When the transaction is committed this
* information is registered (with the transaction manager). If this
* transaction is rolled back then none of the transaction event information
* registers including the information you put in via this method.
* </p>
* <p>
* If there is NO current transaction when you call this method then this
* information is registered immediately (with the transaction manager).
* </p>
*
* @param tableName the name of the table that was modified
* @param inserts true if rows where inserted into the table
@@ -1243,20 +1085,11 @@ public final class DB {
* Return the BeanState for a given entity bean.
* <p>
* This will return null if the bean is not an enhanced entity bean.
* </p>
*/
public static BeanState beanState(Object bean) {
return getDefault().beanState(bean);
}
/**
* Deprecated migrate to beanState().
*/
@Deprecated
public static BeanState getBeanState(Object bean) {
return beanState(bean);
}
/**
* Return the value of the Id property for a given bean.
*/
@@ -1264,14 +1097,6 @@ public final class DB {
return getDefault().beanId(bean);
}
/**
* Deprecated migrate to beanId().
*/
@Deprecated
public static Object getBeanId(Object bean) {
return beanId(bean);
}
/**
* Load and lock the bean using {@code select for update}.
* <p>
@@ -1287,14 +1112,6 @@ public final class DB {
getDefault().lock(bean);
}
/**
* Deprecated migrate to cacheManager().
*/
@Deprecated
public static ServerCacheManager getServerCacheManager() {
return getDefault().cacheManager();
}
/**
* Return the manager of the level 2 cache ("L2" cache).
*/
@@ -1310,14 +1127,6 @@ public final class DB {
return getDefault().backgroundExecutor();
}
/**
* Deprecated migrate to backgroundExecutor().
*/
@Deprecated
public static BackgroundExecutor getBackgroundExecutor() {
return backgroundExecutor();
}
/**
* Return the JsonContext for reading/writing JSON.
*/
+11 -136
View File
@@ -1,5 +1,7 @@
package io.ebean;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import io.ebean.annotation.Platform;
import io.ebean.annotation.TxIsolation;
import io.ebean.cache.ServerCacheManager;
@@ -10,8 +12,6 @@ import io.ebean.plugin.SpiServer;
import io.ebean.text.csv.CsvReader;
import io.ebean.text.json.JsonContext;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.persistence.OptimisticLockException;
import javax.persistence.PersistenceException;
import javax.sql.DataSource;
@@ -92,6 +92,7 @@ import java.util.concurrent.Callable;
* @see DatabaseFactory
* @see DatabaseConfig
*/
@NonNullApi
public interface Database {
/**
@@ -122,81 +123,33 @@ public interface Database {
*/
AutoTune autoTune();
/**
* Deprecated migrate to autoTune().
*/
@Deprecated
default AutoTune getAutoTune() {
return autoTune();
}
/**
* Return the associated DataSource for this Database instance.
*/
DataSource dataSource();
/**
* Deprecated migrate to dataSource().
*/
@Deprecated
default DataSource getDataSource() {
return dataSource();
}
/**
* Return the associated read only DataSource for this Database instance (can be null).
*/
DataSource readOnlyDataSource();
/**
* Deprecated migrate to readOnlyDataSource().
*/
@Deprecated
default DataSource getReadOnlyDataSource() {
return readOnlyDataSource();
}
/**
* Return the name. This is used with {@link DB#byName(String)} to get a
* Database that was registered with the DB singleton.
*/
String name();
/**
* Deprecated migrate to name().
*/
@Deprecated
default String getName() {
return name();
}
/**
* Return the ExpressionFactory for this database.
*/
ExpressionFactory expressionFactory();
/**
* Deprecated migrate to expressionFactory().
*/
@Deprecated
default ExpressionFactory getExpressionFactory() {
return expressionFactory();
}
/**
* Return the MetaInfoManager which is used to get meta data from the Database
* such as query execution statistics.
*/
MetaInfoManager metaInfo();
/**
* Deprecated migrate to metaInfo().
*/
@Deprecated
default MetaInfoManager getMetaInfoManager() {
return metaInfo();
}
/**
* Return the platform used for this database instance.
* <p>
@@ -216,27 +169,11 @@ public interface Database {
*/
Platform platform();
/**
* Deprecated migrate to platform().
*/
@Deprecated
default Platform getPlatform() {
return platform();
}
/**
* Return the extended API intended for use by plugins.
*/
SpiServer pluginApi();
/**
* Deprecated migrate to pluginApi().
*/
@Deprecated
default SpiServer getPluginApi() {
return pluginApi();
}
/**
* Return the BeanState for a given entity bean.
* <p>
@@ -245,27 +182,11 @@ public interface Database {
*/
BeanState beanState(Object bean);
/**
* Deprecated migrate to beanState().
*/
@Deprecated
default BeanState getBeanState(Object bean) {
return beanState(bean);
}
/**
* Return the value of the Id property for a given bean.
*/
Object beanId(Object bean);
/**
* Deprecated migrate to beanId().
*/
@Deprecated
default Object getBeanId(Object bean) {
return beanId(bean);
}
/**
* Set the Id value onto the bean converting the type of the id value if necessary.
* <p>
@@ -278,14 +199,6 @@ public interface Database {
*/
Object beanId(Object bean, Object id);
/**
* Deprecated migrate to beanId().
*/
@Deprecated
default Object setBeanId(Object bean, Object id) {
return beanId(bean, id);
}
/**
* Return a map of the differences between two objects of the same type.
* <p>
@@ -299,7 +212,7 @@ public interface Database {
* Create a new instance of T that is an EntityBean.
* <p>
* Useful if you use BeanPostConstructListeners or &#64;PostConstruct Annotations.
* In this case you should not use "new Bean...()". Making all bean construtors protected
* In this case you should not use "new Bean...()". Making all bean constructors protected
* could be a good idea here.
* </p>
*/
@@ -575,8 +488,8 @@ public interface Database {
<T> DtoQuery<T> createNamedDtoQuery(Class<T> dtoType, String namedQuery);
/**
* Look to execute a native sql query that does not returns beans but instead
* returns SqlRow or direct access to ResultSet (see {@link SqlQuery#findList(RowMapper)}.
* Look to execute a native sql query that does not return beans but instead
* returns SqlRow or direct access to ResultSet.
*
* <p>
* Refer to {@link DtoQuery} for native sql queries returning DTO beans.
@@ -587,14 +500,6 @@ public interface Database {
*/
SqlQuery sqlQuery(String sql);
/**
* Deprecated - migrate to sqlQuery().
* <p>
* This is an alias for {@link #sqlQuery(String)}.
*/
@Deprecated
SqlQuery createSqlQuery(String sql);
/**
* Look to execute a native sql insert update or delete statement.
* <p>
@@ -610,14 +515,6 @@ public interface Database {
*/
SqlUpdate sqlUpdate(String sql);
/**
* Deprecated - migrate to sqlUpdate().
* <p>
* This is an alias for {@link #sqlUpdate(String)}.
*/
@Deprecated
SqlUpdate createSqlUpdate(String sql);
/**
* Create a CallableSql to execute a given stored procedure.
*/
@@ -949,17 +846,8 @@ public interface Database {
* @param beanType the type of entity bean
* @param id the id value
*/
@Nonnull
<T> T reference(Class<T> beanType, Object id);
/**
* Deprecated migrate to reference().
*/
@Deprecated
default <T> T getReference(Class<T> beanType, Object id) {
return reference(beanType, id);
}
/**
* Return the extended API for Database.
* <p>
@@ -1236,6 +1124,7 @@ public interface Database {
* @param id the bean id value
* @param transaction the transaction to use (can be null)
*/
@Nullable
<T> T find(Class<T> beanType, Object id, Transaction transaction);
/**
@@ -1294,13 +1183,11 @@ public interface Database {
* @param bean The entity bean to check uniqueness on
* @return a set of Properties if constraint validation was detected or empty list.
*/
@Nonnull
Set<Property> checkUniqueness(Object bean);
/**
* Same as {@link #checkUniqueness(Object)}. but with given transaction.
*/
@Nonnull
Set<Property> checkUniqueness(Object bean, Transaction transaction);
/**
@@ -1529,28 +1416,12 @@ public interface Database {
*/
ServerCacheManager cacheManager();
/**
* Deprecated migrate to cacheManager().
*/
@Deprecated
default ServerCacheManager getServerCacheManager() {
return cacheManager();
}
/**
* Return the BackgroundExecutor service for asynchronous processing of
* queries.
*/
BackgroundExecutor backgroundExecutor();
/**
* Deprecated migrate to backgroundExecutor().
*/
@Deprecated
default BackgroundExecutor getBackgroundExecutor() {
return backgroundExecutor();
}
/**
* Return the JsonContext for reading/writing JSON.
* <p>
@@ -1614,6 +1485,7 @@ public interface Database {
* @param id the id of the entity bean
* @param transaction the transaction the publish process should use (can be null)
*/
@Nullable
<T> T publish(Class<T> beanType, Object id, Transaction transaction);
/**
@@ -1627,6 +1499,7 @@ public interface Database {
* @param beanType the type of the entity bean
* @param id the id of the entity bean
*/
@Nullable
<T> T publish(Class<T> beanType, Object id);
/**
@@ -1665,6 +1538,7 @@ public interface Database {
* @param id the id of the entity bean to restore
* @param transaction the transaction the restore process should use (can be null)
*/
@Nullable
<T> T draftRestore(Class<T> beanType, Object id, Transaction transaction);
/**
@@ -1678,6 +1552,7 @@ public interface Database {
* @param beanType the type of the entity bean
* @param id the id of the entity bean to restore
*/
@Nullable
<T> T draftRestore(Class<T> beanType, Object id);
/**
@@ -26,7 +26,7 @@ import java.util.concurrent.locks.ReentrantLock;
* methods on the DB singleton such as {@link DB#find(Class)} are just a
* convenient way of using the 'default/primary' Database.
*/
public class DatabaseFactory {
public final class DatabaseFactory {
private static final ReentrantLock lock = new ReentrantLock();
private static SpiContainer container;
@@ -10,7 +10,7 @@ import java.util.concurrent.locks.ReentrantLock;
* <p/>
* Intended for internal use as part of bootup, construction, registration of the default database.
*/
class DbPrimary {
final class DbPrimary {
private static final ReentrantLock lock = new ReentrantLock();
private static String defaultServerName;
@@ -1,9 +1,10 @@
package io.ebean;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import io.ebean.docstore.DocQueryContext;
import io.ebean.docstore.RawDoc;
import javax.annotation.Nullable;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@@ -13,6 +14,7 @@ import java.util.function.Predicate;
/**
* Document storage operations.
*/
@NonNullApi
public interface DocumentStore {
/**
+12 -6
View File
@@ -1,7 +1,9 @@
package io.ebean;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;
@@ -38,12 +40,12 @@ import java.util.stream.Stream;
*
* }</pre>
*/
@NonNullApi
public interface DtoQuery<T> extends CancelableQuery {
/**
* Execute the query returning a list.
*/
@Nonnull
List<T> findList();
/**
@@ -53,7 +55,6 @@ public interface DtoQuery<T> extends CancelableQuery {
* resultSet and potentially connection and MUST be closed. We should use
* QueryIterator in a <em>try with resource block</em>.
*/
@Nonnull
QueryIterator<T> findIterate();
/**
@@ -63,7 +64,6 @@ public interface DtoQuery<T> extends CancelableQuery {
* resultSet and potentially connection and MUST be closed. We should use
* the Stream in a <em>try with resource block</em>.
*/
@Nonnull
Stream<T> findStream();
/**
@@ -105,7 +105,6 @@ public interface DtoQuery<T> extends CancelableQuery {
/**
* Execute the query returning an optional bean.
*/
@Nonnull
Optional<T> findOneOrEmpty();
/**
@@ -130,6 +129,13 @@ public interface DtoQuery<T> extends CancelableQuery {
*/
DtoQuery<T> setParameter(String name, Object value);
/**
* Bind the named multi-value array parameter which we would use with Postgres ANY.
* <p>
* For Postgres this binds an ARRAY rather than expands into multiple bind values.
*/
DtoQuery<T> setArrayParameter(String name, Collection<?> values);
/**
* Bind the parameter by its index position (1 based like JDBC).
*/
+1 -4
View File
@@ -1,13 +1,12 @@
package io.ebean;
import io.avaje.lang.Nullable;
import io.ebean.annotation.TxIsolation;
import io.ebean.cache.ServerCacheManager;
import io.ebean.plugin.Property;
import io.ebean.text.csv.CsvReader;
import io.ebean.text.json.JsonContext;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.persistence.OptimisticLockException;
import javax.persistence.PersistenceException;
import java.util.Collection;
@@ -506,7 +505,6 @@ public final class Ebean {
* @param bean The entity bean to check uniqueness on
* @return a set of Properties if constraint validation was detected or empty list.
*/
@Nonnull
public static Set<Property> checkUniqueness(Object bean) {
return getDefault().checkUniqueness(bean);
}
@@ -514,7 +512,6 @@ public final class Ebean {
/**
* Same as {@link #checkUniqueness(Object)}. but with given transaction.
*/
@Nonnull
public static Set<Property> checkUniqueness(Object bean, Transaction transaction) {
return getDefault().checkUniqueness(bean, transaction);
}
@@ -12,7 +12,7 @@ import java.util.Properties;
*
* @author Roland Praml, FOCONIS AG
*/
public class EbeanVersion {
public final class EbeanVersion {
private static final Logger log = LoggerFactory.getLogger("io.ebean");
@@ -1,6 +1,5 @@
package io.ebean;
import javax.annotation.Nonnull;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Future;
@@ -25,13 +24,11 @@ public class EmptyPagedList<T> implements PagedList<T> {
// do nothing
}
@Nonnull
@Override
public Future<Integer> getFutureCount() {
return null;
}
@Nonnull
@Override
public List<T> getList() {
return Collections.emptyList();
+1 -1
View File
@@ -25,7 +25,7 @@ import java.util.Map;
*
* @see Query#where()
*/
public class Expr {
public final class Expr {
private Expr() {
}
@@ -1,21 +1,13 @@
package io.ebean;
import io.ebean.search.Match;
import io.ebean.search.MultiMatch;
import io.ebean.search.TextCommonTerms;
import io.ebean.search.TextQueryString;
import io.ebean.search.TextSimple;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import io.ebean.search.*;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.persistence.NonUniqueResultException;
import java.sql.Connection;
import java.sql.Timestamp;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Predicate;
@@ -39,6 +31,7 @@ import java.util.function.Predicate;
*
* @see Query#where()
*/
@NonNullApi
public interface ExpressionList<T> {
/**
@@ -327,7 +320,6 @@ public interface ExpressionList<T> {
*
* @see Query#findList()
*/
@Nonnull
List<T> findList();
/**
@@ -335,7 +327,6 @@ public interface ExpressionList<T> {
*
* @see Query#findIds()
*/
@Nonnull
<A> List<A> findIds();
/**
@@ -351,7 +342,6 @@ public interface ExpressionList<T> {
*
* @see Query#findSet()
*/
@Nonnull
Set<T> findSet();
/**
@@ -359,7 +349,6 @@ public interface ExpressionList<T> {
*
* @see Query#findMap()
*/
@Nonnull
<K> Map<K, T> findMap();
/**
@@ -392,7 +381,6 @@ public interface ExpressionList<T> {
*
* @return the list of values for the selected property
*/
@Nonnull
<A> List<A> findSingleAttributeList();
/**
@@ -429,7 +417,6 @@ public interface ExpressionList<T> {
/**
* Execute the query returning an optional bean.
*/
@Nonnull
Optional<T> findOneOrEmpty();
/**
@@ -442,7 +429,6 @@ public interface ExpressionList<T> {
*
* @return a Future object for the row count query
*/
@Nonnull
FutureRowCount<T> findFutureCount();
/**
@@ -455,7 +441,6 @@ public interface ExpressionList<T> {
*
* @return a Future object for the list of Id's
*/
@Nonnull
FutureIds<T> findFutureIds();
/**
@@ -468,7 +453,6 @@ public interface ExpressionList<T> {
*
* @return a Future object for the list result of the query
*/
@Nonnull
FutureList<T> findFutureList();
/**
@@ -499,7 +483,6 @@ public interface ExpressionList<T> {
* @return The PagedList
* @see Query#findPagedList()
*/
@Nonnull
PagedList<T> findPagedList();
/**
@@ -509,7 +492,6 @@ public interface ExpressionList<T> {
* It will execute the query against the history returning the versions of the bean.
* </p>
*/
@Nonnull
List<Version<T>> findVersions();
/**
@@ -519,13 +501,11 @@ public interface ExpressionList<T> {
* It will execute the query against the history returning the versions of the bean.
* </p>
*/
@Nonnull
List<Version<T>> findVersionsBetween(Timestamp start, Timestamp end);
/**
* Add some filter predicate expressions to the many property.
*/
@Nonnull
ExpressionList<T> filterMany(String manyProperty);
/**
@@ -1,7 +1,7 @@
package io.ebean;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import io.avaje.lang.Nullable;
import javax.persistence.NonUniqueResultException;
import java.time.Clock;
import java.util.List;
@@ -82,7 +82,6 @@ public interface ExtendedServer {
*
* @see Query#findIds()
*/
@Nonnull
<A, T> List<A> findIds(Query<T> query, Transaction transaction);
/**
@@ -100,7 +99,6 @@ public interface ExtendedServer {
* @see Query#findEach(Consumer)
* @see Query#findEachWhile(Predicate)
*/
@Nonnull
<T> QueryIterator<T> findIterate(Query<T> query, Transaction transaction);
/**
@@ -112,23 +110,8 @@ public interface ExtendedServer {
* Note that the stream needs to be closed so use with try with resources.
* </p>
*/
@Nonnull
<T> Stream<T> findStream(Query<T> query, Transaction transaction);
/**
* Deprecated - migrate to findStream().
* <p>
* Execute the query returning the result as a Stream.
* <p>
* Note that this can support very large queries iterating any number of results.
* To do so internally it can use multiple persistence contexts.
* <p>
* Note that the stream needs to be closed so use with try with resources.
*/
@Nonnull
@Deprecated
<T> Stream<T> findLargeStream(Query<T> query, Transaction transaction);
/**
* Execute the query visiting the each bean one at a time.
* <p>
@@ -210,7 +193,6 @@ public interface ExtendedServer {
* It will execute the query against the history returning the versions of the bean.
* </p>
*/
@Nonnull
<T> List<Version<T>> findVersions(Query<T> query, Transaction transaction);
/**
@@ -235,7 +217,6 @@ public interface ExtendedServer {
* @return the list of fetched beans.
* @see Query#findList()
*/
@Nonnull
<T> List<T> findList(Query<T> query, Transaction transaction);
/**
@@ -251,7 +232,6 @@ public interface ExtendedServer {
* @return a Future object for the row count query
* @see Query#findFutureCount()
*/
@Nonnull
<T> FutureRowCount<T> findFutureCount(Query<T> query, Transaction transaction);
/**
@@ -267,7 +247,6 @@ public interface ExtendedServer {
* @return a Future object for the list of Id's
* @see Query#findFutureIds()
*/
@Nonnull
<T> FutureIds<T> findFutureIds(Query<T> query, Transaction transaction);
/**
@@ -284,7 +263,6 @@ public interface ExtendedServer {
* @return a Future object for the list result of the query
* @see Query#findFutureList()
*/
@Nonnull
<T> FutureList<T> findFutureList(Query<T> query, Transaction transaction);
/**
@@ -316,7 +294,6 @@ public interface ExtendedServer {
* @return The PagedList
* @see Query#findPagedList()
*/
@Nonnull
<T> PagedList<T> findPagedList(Query<T> query, Transaction transaction);
/**
@@ -341,7 +318,6 @@ public interface ExtendedServer {
* @return the set of fetched beans.
* @see Query#findSet()
*/
@Nonnull
<T> Set<T> findSet(Query<T> query, Transaction transaction);
/**
@@ -358,7 +334,6 @@ public interface ExtendedServer {
* @return the map of fetched beans.
* @see Query#findMap()
*/
@Nonnull
<K, T> Map<K, T> findMap(Query<T> query, Transaction transaction);
/**
@@ -391,7 +366,6 @@ public interface ExtendedServer {
* @return the list of values for the selected property
* @see Query#findSingleAttributeList()
*/
@Nonnull
<A, T> List<A> findSingleAttributeList(Query<T> query, Transaction transaction);
/**
@@ -419,7 +393,6 @@ public interface ExtendedServer {
/**
* Similar to findOne() but returns an Optional (rather than nullable).
*/
@Nonnull
<T> Optional<T> findOneOrEmpty(Query<T> query, Transaction transaction);
/**
@@ -463,7 +436,6 @@ public interface ExtendedServer {
* @return the list of fetched MapBean.
* @see SqlQuery#findList()
*/
@Nonnull
List<SqlRow> findList(SqlQuery query, Transaction transaction);
/**
@@ -13,8 +13,7 @@ import java.io.Serializable;
* }</pre>
* <p>
* Example: Using a "query join" instead of a "fetch join" we instead use 2 SQL queries
* </p>
* <p>
*
* <pre>{@code
*
* // This will use 2 SQL queries to build this object graph
@@ -27,11 +26,8 @@ import java.io.Serializable;
* // query 2) find orderDetails where order.id in (?,?...) // first 100 order id's
*
* }</pre>
*
* @author mario
* @author rbygrave
*/
public class FetchConfig implements Serializable {
public final class FetchConfig implements Serializable {
private static final long serialVersionUID = 1L;
@@ -40,21 +36,9 @@ public class FetchConfig implements Serializable {
private static final int LAZY_MODE = 2;
private static final int CACHE_MODE = 3;
private int mode;
private int batchSize;
private int hashCode;
/**
* Deprecated - migrate to one of the static factory methods like {@link FetchConfig#ofQuery()}
* <p>
* Construct using default JOIN mode.
*/
@Deprecated
public FetchConfig() {
//this.mode = JOIN_MODE;
this.batchSize = 100;
this.hashCode = 1000;
}
private final int mode;
private final int batchSize;
private final int hashCode;
private FetchConfig(int mode, int batchSize) {
this.mode = mode;
@@ -106,94 +90,6 @@ public class FetchConfig implements Serializable {
return new FetchConfig(JOIN_MODE, 100);
}
/**
* We want to migrate away from mutating FetchConfig to a fully immutable FetchConfig.
*/
private FetchConfig mutate(int mode, int batchSize) {
if (batchSize < 0) {
throw new IllegalArgumentException("batch size " + batchSize + " must be > 0");
}
this.mode = mode;
this.batchSize = batchSize;
this.hashCode = mode + 10 * batchSize;
return this;
}
/**
* Deprecated - migrate to FetchConfig.ofLazy().
*/
@Deprecated
public FetchConfig lazy() {
return mutate(LAZY_MODE, 0);
}
/**
* Deprecated - migrate to FetchConfig.ofLazy(batchSize).
*/
@Deprecated
public FetchConfig lazy(int batchSize) {
return mutate(LAZY_MODE, batchSize);
}
/**
* Deprecated - migrate to FetchConfig.ofQuery().
* <p>
* Eagerly fetch the beans in this path as a separate query (rather than as
* part of the main query).
* <p>
* This will use the default batch size for separate query which is 100.
*/
@Deprecated
public FetchConfig query() {
return mutate(QUERY_MODE, 100);
}
/**
* Deprecated - migrate to FetchConfig.ofQuery(batchSize).
* <p>
* Eagerly fetch the beans in this path as a separate query (rather than as
* part of the main query).
* <p>
* The queryBatchSize is the number of parent id's that this separate query
* will load per batch.
* <p>
* This will load all beans on this path eagerly unless a {@link #lazy(int)}
* is also used.
*
* @param batchSize the batch size used to load beans on this path
*/
@Deprecated
public FetchConfig query(int batchSize) {
return mutate(QUERY_MODE, batchSize);
}
/**
* Deprecated - migrate to FetchConfig.ofQuery(batchSize).
* <p>
* Eagerly fetch the first batch of beans on this path.
* This is similar to {@link #query(int)} but only fetches the first batch.
* <p>
* If there are more parent beans than the batch size then they will not be
* loaded eagerly but instead use lazy loading.
*
* @param batchSize the number of parent beans this path is populated for
*/
@Deprecated
public FetchConfig queryFirst(int batchSize) {
return query(batchSize);
}
/**
* Deprecated - migrate to FetchConfig.ofCache().
* <p>
* Eagerly fetch the beans fetching the beans from the L2 bean cache
* and using the DB for beans not in the cache.
*/
@Deprecated
public FetchConfig cache() {
return mutate(CACHE_MODE, 100);
}
/**
* Return the batch size for fetching.
*/
@@ -1,9 +1,8 @@
package io.ebean;
import io.avaje.lang.NonNullApi;
import io.ebean.service.SpiFetchGroupQuery;
import javax.annotation.Nonnull;
/**
* Defines what part of the object graph to load (select and fetch clauses).
* <p>
@@ -62,6 +61,7 @@ import javax.annotation.Nonnull;
*
* @param <T> The bean type the Fetch group can be applied to
*/
@NonNullApi
public interface FetchGroup<T> {
/**
@@ -83,7 +83,6 @@ public interface FetchGroup<T> {
*
* @return The FetchGroup with the given select clause
*/
@Nonnull
static <T> FetchGroup<T> of(Class<T> cls, String select) {
return XServiceProvider.fetchGroupOf(cls, select);
}
@@ -108,7 +107,6 @@ public interface FetchGroup<T> {
*
* @return The FetchGroupBuilder with the given select clause which we will add fetch clauses to
*/
@Nonnull
static <T> FetchGroupBuilder<T> of(Class<T> cls) {
return XServiceProvider.fetchGroupOf(cls);
}
@@ -1,6 +1,6 @@
package io.ebean;
import javax.annotation.Nonnull;
import io.avaje.lang.NonNullApi;
/**
* Builds a FetchGroup by adding fetch clauses.
@@ -23,85 +23,73 @@ import javax.annotation.Nonnull;
*
* }</pre>
*/
@NonNullApi
public interface FetchGroupBuilder<T> {
/**
* Specify specific properties to select (top level properties).
*/
@Nonnull
FetchGroupBuilder<T> select(String select);
/**
* Fetch all the properties at the given path.
*/
@Nonnull
FetchGroupBuilder<T> fetch(String path);
/**
* Fetch the path with the nested fetch group.
*/
@Nonnull
FetchGroupBuilder<T> fetch(String path, FetchGroup<?> nestedGroup);
/**
* Fetch the path using a query join with the nested fetch group.
*/
@Nonnull
FetchGroupBuilder<T> fetchQuery(String path, FetchGroup<?> nestedGroup);
/**
* Fetch the path lazily with the nested fetch group.
*/
@Nonnull
FetchGroupBuilder<T> fetchLazy(String path, FetchGroup<?> nestedGroup);
/**
* Fetch the path including specified properties.
*/
@Nonnull
FetchGroupBuilder<T> fetch(String path, String properties);
/**
* Fetch the path including all its properties using a query join.
*/
@Nonnull
FetchGroupBuilder<T> fetchQuery(String path);
/**
* Fetch the path including all its properties using L2 cache.
* Cache misses fallback to fetchQuery().
*/
@Nonnull
FetchGroupBuilder<T> fetchCache(String path);
/**
* Fetch the path including specified properties using a query join.
*/
@Nonnull
FetchGroupBuilder<T> fetchQuery(String path, String properties);
/**
* Fetch the path including specified properties using L2 cache.
* Cache misses fallback to fetchQuery().
*/
@Nonnull
FetchGroupBuilder<T> fetchCache(String path, String properties);
/**
* Fetch the path including all its properties lazily.
*/
@Nonnull
FetchGroupBuilder<T> fetchLazy(String path);
/**
* Fetch the path including specified properties lazily.
*/
@Nonnull
FetchGroupBuilder<T> fetchLazy(String path, String properties);
/**
* Build and return the FetchGroup.
*/
@Nonnull
FetchGroup<T> build();
}
@@ -1,5 +1,7 @@
package io.ebean;
import io.avaje.lang.NonNullApi;
import java.util.List;
import java.util.Set;
@@ -77,6 +79,7 @@ import java.util.Set;
*
* @param <T> the entity bean type
*/
@NonNullApi
public interface Filter<T> {
/**
+3 -4
View File
@@ -1,7 +1,7 @@
package io.ebean;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import java.util.List;
/**
@@ -55,6 +55,7 @@ import java.util.List;
* }</pre>
*
*/
@NonNullApi
public class Finder<I, T> {
/**
@@ -139,7 +140,6 @@ public class Finder<I, T> {
* <p>
* Equivalent to {@link Database#reference(Class, Object)}
*/
@Nonnull
public T ref(I id) {
return db().reference(type, id);
}
@@ -166,7 +166,6 @@ public class Finder<I, T> {
/**
* Retrieves all entities of the given type.
*/
@Nonnull
public List<T> all() {
return query().findList();
}
@@ -113,9 +113,9 @@ public interface Junction<T> extends Expression, ExpressionList<T> {
*/
SHOULD("should", "", true);
private String prefix;
private String literal;
private boolean text;
private final String prefix;
private final String literal;
private final boolean text;
Type(String literal, String prefix, boolean text) {
this.literal = literal;
@@ -1,6 +1,5 @@
package io.ebean;
import javax.annotation.Nonnull;
import java.util.List;
import java.util.concurrent.Future;
@@ -116,13 +115,11 @@ public interface PagedList<T> {
*
* }</pre>
*/
@Nonnull
Future<Integer> getFutureCount();
/**
* Return the list of entities for this page.
*/
@Nonnull
List<T> getList();
/**
+3 -21
View File
@@ -10,11 +10,10 @@ import java.util.Objects;
* <p>
* This feature is to enable use of L2 cache with complex natural keys with findList() queries in cases where the
* IN clause is not a single property but instead a pair of properties.
* </p>
* <p>
* These queries can have predicates that can be translated into a list of complex natural keys such that the L2
* cache can be hit with these keys to obtain some or all of the beans from L2 cache rather than the DB.
* </p>
*
* <pre>{@code
*
* // where a bean is annotated with a complex
@@ -45,11 +44,10 @@ import java.util.Objects;
* pairs are a unique key/index or part of a unique key/index and highly selective). Currently we know we can do this
* on any DB that supports expression/formula based indexes.
* using a DB string concatenation formula
* </p>
* <p>
* This means, the implementation converts the list of pairs into a list of strings via concatenation and we use a
* DB concatenation formula to match. We see SQL like:
* </p>
*
* <pre>{@code sql
*
* ...
@@ -60,7 +58,7 @@ import java.util.Objects;
* }</pre>
* <p>
* We often create a DB expression index to match the DB concat formula like:
* </p>
*
* <pre>{@code sql
*
* create index ix_name on table_name (sku || '-' || code);
@@ -144,14 +142,6 @@ public final class Pairs {
return this;
}
/**
* Deprecated migrate to concatSeparator()
*/
@Deprecated
public Pairs setConcatSeparator(String concatSeparator) {
return concatSeparator(concatSeparator);
}
/**
* Return a suffix used with DB varchar concatenation to combine the 2 values.
*/
@@ -167,14 +157,6 @@ public final class Pairs {
return this;
}
/**
* Deprecated migrate to concatSuffix()
*/
@Deprecated
public Pairs setConcatSuffix(String concatSuffix) {
return concatSuffix(concatSuffix);
}
@Override
public String toString() {
return "p0:" + property0 + " p1:" + property1 + " entries:" + entries;
+24 -54
View File
@@ -1,7 +1,8 @@
package io.ebean;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import javax.persistence.NonUniqueResultException;
import java.sql.Connection;
import java.sql.Timestamp;
@@ -177,6 +178,7 @@ import java.util.stream.Stream;
*
* @param <T> the type of Entity bean this query will fetch.
*/
@NonNullApi
public interface Query<T> extends CancelableQuery {
/**
@@ -689,7 +691,6 @@ public interface Query<T> extends CancelableQuery {
* This query will execute against the Database that was used to create it.
* </p>
*/
@Nonnull
<A> List<A> findIds();
/**
@@ -727,7 +728,6 @@ public interface Query<T> extends CancelableQuery {
*
* }</pre>
*/
@Nonnull
QueryIterator<T> findIterate();
/**
@@ -749,33 +749,8 @@ public interface Query<T> extends CancelableQuery {
*
* }</pre>
*/
@Nonnull
Stream<T> findStream();
/**
* Deprecated - migrate to findStream.
* <p>
* Execute the query returning the result as a Stream.
* <p>
* Note that this uses multiple persistence contexts such that we can use
* it with a large number of results.
* </p>
* <pre>{@code
*
* // use try with resources to ensure Stream is closed
*
* try (Stream<Customer> stream = query.findLargeStream()) {
* stream
* .map(...)
* .collect(...);
* }
*
* }</pre>
*/
@Nonnull
@Deprecated
Stream<T> findLargeStream();
/**
* Execute the query processing the beans one at a time.
* <p>
@@ -882,7 +857,6 @@ public interface Query<T> extends CancelableQuery {
*
* }</pre>
*/
@Nonnull
List<T> findList();
/**
@@ -898,7 +872,6 @@ public interface Query<T> extends CancelableQuery {
*
* }</pre>
*/
@Nonnull
Set<T> findSet();
/**
@@ -918,7 +891,6 @@ public interface Query<T> extends CancelableQuery {
*
* }</pre>
*/
@Nonnull
<K> Map<K, T> findMap();
/**
@@ -951,7 +923,6 @@ public interface Query<T> extends CancelableQuery {
*
* @return the list of values for the selected property
*/
@Nonnull
<A> List<A> findSingleAttributeList();
/**
@@ -1049,7 +1020,6 @@ public interface Query<T> extends CancelableQuery {
/**
* Execute the query returning an optional bean.
*/
@Nonnull
Optional<T> findOneOrEmpty();
/**
@@ -1064,7 +1034,6 @@ public interface Query<T> extends CancelableQuery {
* It will execute the query against the history returning the versions of the bean.
* </p>
*/
@Nonnull
List<Version<T>> findVersions();
/**
@@ -1074,7 +1043,6 @@ public interface Query<T> extends CancelableQuery {
* It will execute the query against the history returning the versions of the bean.
* </p>
*/
@Nonnull
List<Version<T>> findVersionsBetween(Timestamp start, Timestamp end);
/**
@@ -1132,7 +1100,6 @@ public interface Query<T> extends CancelableQuery {
*
* @return a Future object for the row count query
*/
@Nonnull
FutureRowCount<T> findFutureCount();
/**
@@ -1145,7 +1112,6 @@ public interface Query<T> extends CancelableQuery {
*
* @return a Future object for the list of Id's
*/
@Nonnull
FutureIds<T> findFutureIds();
/**
@@ -1157,7 +1123,6 @@ public interface Query<T> extends CancelableQuery {
*
* @return a Future object for the list result of the query
*/
@Nonnull
FutureList<T> findFutureList();
/**
@@ -1187,7 +1152,6 @@ public interface Query<T> extends CancelableQuery {
*
* @return The PagedList
*/
@Nonnull
PagedList<T> findPagedList();
/**
@@ -1409,18 +1373,9 @@ public interface Query<T> extends CancelableQuery {
* optional asc and desc keywords representing ascending and descending order
* respectively.
*/
Query<T> order(String orderByClause);
/**
* Return the OrderBy so that you can append an ascending or descending
* property to the order by clause.
* <p>
* This will never return a null. If no order by clause exists then an 'empty'
* OrderBy object is returned.
* <p>
* This is the same as <code>orderBy()</code>
*/
OrderBy<T> order();
default Query<T> order(String orderByClause) {
return orderBy(orderByClause);
}
/**
* Return the OrderBy so that you can append an ascending or descending
@@ -1434,15 +1389,30 @@ public interface Query<T> extends CancelableQuery {
OrderBy<T> orderBy();
/**
* Set an OrderBy object to replace any existing OrderBy clause.
* Return the OrderBy so that you can append an ascending or descending
* property to the order by clause.
* <p>
* This will never return a null. If no order by clause exists then an 'empty'
* OrderBy object is returned.
* <p>
* This is the same as <code>orderBy()</code>
*/
Query<T> setOrder(OrderBy<T> orderBy);
default OrderBy<T> order() {
return orderBy();
}
/**
* Set an OrderBy object to replace any existing OrderBy clause.
*/
Query<T> setOrderBy(OrderBy<T> orderBy);
/**
* Set an OrderBy object to replace any existing OrderBy clause.
*/
default Query<T> setOrder(OrderBy<T> orderBy) {
return setOrderBy(orderBy);
}
/**
* Set whether this query uses DISTINCT.
* <p>
@@ -1,6 +1,7 @@
package io.ebean;
import java.net.URL;
import java.nio.file.Path;
import java.util.Map;
/**
@@ -23,10 +24,10 @@ public interface ScriptRunner {
/**
* Run a script given the resource path (that should start with "/").
*/
void run(String path);
void run(String resourcePath);
/**
* Run a script given the resource path (that should start with "/") and place holders.
* Run a script given the resource path (that should start with "/") and place-holders.
*
* <pre>{@code
*
@@ -38,7 +39,7 @@ public interface ScriptRunner {
*
* }</pre>
*/
void run(String path, Map<String, String> placeholderMap);
void run(String resourcePath, Map<String, String> placeholderMap);
/**
* Run a DDL or SQL script given the resource.
@@ -46,10 +47,20 @@ public interface ScriptRunner {
void run(URL resource);
/**
* Run a DDL or SQL script given the resource and place holders.
* Run a DDL or SQL script given the resource and place-holders.
*/
void run(URL resource, Map<String, String> placeholderMap);
/**
* Run a DDL or SQL script given the file.
*/
void run(Path file);
/**
* Run a DDL or SQL script given the file and place-holders.
*/
void run(Path file, Map<String, String> placeholderMap);
/**
* Run the raw provided DDL or SQL script.
*
+14 -66
View File
@@ -1,7 +1,7 @@
package io.ebean;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import io.avaje.lang.NonNullApi;
import io.avaje.lang.Nullable;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
@@ -37,12 +37,12 @@ import java.util.function.Predicate;
*
* }</pre>
*/
@NonNullApi
public interface SqlQuery extends Serializable, CancelableQuery {
/**
* Execute the query returning a list.
*/
@Nonnull
List<SqlRow> findList();
/**
@@ -74,18 +74,6 @@ public interface SqlQuery extends Serializable, CancelableQuery {
@Nullable
SqlRow findOne();
/**
* Deprecated migrate to use {@link #mapTo(RowMapper)}
*/
@Deprecated
<T> T findOne(RowMapper<T> mapper);
/**
* Deprecated migrate to use {@link #mapTo(RowMapper)}
*/
@Deprecated
<T> List<T> findList(RowMapper<T> mapper);
/**
* Execute the query reading each row from ResultSet using the RowConsumer.
* <p>
@@ -119,53 +107,8 @@ public interface SqlQuery extends Serializable, CancelableQuery {
/**
* Execute the query returning an optional row.
*/
@Nonnull
Optional<SqlRow> findOneOrEmpty();
/**
* Deprecated - migrate to <code>.mapToScalar(attributeType).findOne()</code>.
* <pre>{@code
*
* .mapToScalar(BigDecimal.class)
* .findOne();
* }
*/
@Deprecated
<T> T findSingleAttribute(Class<T> attributeType);
/**
* Deprecated - migrate to <code>.mapToScalar(BigDecimal.class).findOne()</code>.
* <pre>{@code
*
* .mapToScalar(BigDecimal.class)
* .findOne();
* }
*/
@Deprecated
BigDecimal findSingleDecimal();
/**
* Deprecated - migrate to <code>.mapToScalar(Long.class).findOne()</code>.
* <pre>{@code
*
* .mapToScalar(Long.class)
* .findOne();
* }
*/
@Deprecated
Long findSingleLong();
/**
* Deprecated - migrate to <code>.mapToScalar(Long.class).findList()</code>.
* <pre>{@code
*
* .mapToScalar(Long.class)
* .findList();
* }
*/
@Deprecated
<T> List<T> findSingleAttributeList(Class<T> attributeType);
/**
* Set one of more positioned parameters.
* <p>
@@ -195,12 +138,6 @@ public interface SqlQuery extends Serializable, CancelableQuery {
*/
SqlQuery setParameters(Object... values);
/**
* Deprecated migrate to setParameters(Object... values)
*/
@Deprecated
SqlQuery setParams(Object... values);
/**
* Set the next bind parameter by position.
* <pre>{@code
@@ -247,6 +184,16 @@ public interface SqlQuery extends Serializable, CancelableQuery {
*/
SqlQuery setParameter(Object value);
/**
* Set a null parameter by position.
*/
SqlQuery setNullParameter(int position, int jdbcType);
/**
* Set a null parameter by name.
*/
SqlQuery setNullParameter(String name, int jdbcType);
/**
* Bind the parameter by its index position (1 based like JDBC).
* <p>
@@ -354,6 +301,7 @@ public interface SqlQuery extends Serializable, CancelableQuery {
/**
* Return the single value.
*/
@Nullable
T findOne();
/**
@@ -1,5 +1,7 @@
package io.ebean;
import java.util.Collection;
/**
* A SqlUpdate for executing insert update or delete statements.
* <p>
@@ -285,12 +287,6 @@ public interface SqlUpdate {
*/
SqlUpdate setParameters(Object... values);
/**
* Deprecated migrate to setParameters(Object... values).
*/
@Deprecated
SqlUpdate setParams(Object... values);
/**
* Set the next bind parameter by position.
*
@@ -298,12 +294,6 @@ public interface SqlUpdate {
*/
SqlUpdate setParameter(Object value);
/**
* Deprecated migrate to setParameter(value).
*/
@Deprecated
SqlUpdate setNextParameter(Object value);
/**
* Set a parameter via its index position.
*/
@@ -324,6 +314,13 @@ public interface SqlUpdate {
*/
SqlUpdate setParameter(String name, Object param);
/**
* Bind the named multi-value array parameter which we would use with Postgres ANY.
* <p>
* For Postgres this binds an ARRAY rather than expands into multiple bind values.
*/
SqlUpdate setArrayParameter(String name, Collection<?> values);
/**
* Set a named parameter that has a null value. Exactly the same as
* {@link #setNullParameter(String, int)}.
@@ -440,14 +440,6 @@ public interface Transaction extends AutoCloseable {
*/
void setGetGeneratedKeys(boolean getGeneratedKeys);
/**
* Deprecated renamed to setGetGeneratedKeys().
*/
@Deprecated
default void setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
setGetGeneratedKeys(getGeneratedKeys);
}
/**
* By default when mixing UpdateSql (or CallableSql) with Beans the batch is
* automatically flushed when you change (between persisting beans and
@@ -463,14 +455,6 @@ public interface Transaction extends AutoCloseable {
*/
void setFlushOnMixed(boolean batchFlushOnMixed);
/**
* Deprecated renamed to setFlushOnMixed().
*/
@Deprecated
default void setBatchFlushOnMixed(boolean batchFlushOnMixed) {
setFlushOnMixed(batchFlushOnMixed);
}
/**
* By default executing a query will automatically flush any batched
* statements (persisted beans, executed UpdateSql etc).
@@ -480,14 +464,6 @@ public interface Transaction extends AutoCloseable {
*/
void setFlushOnQuery(boolean batchFlushOnQuery);
/**
* Deprecated renamed to setFlushOnQuery().
*/
@Deprecated
default void setBatchFlushOnQuery(boolean batchFlushOnQuery) {
setFlushOnQuery(batchFlushOnQuery);
}
/**
* Return true if the batch (of persisted beans or executed UpdateSql etc)
* should be flushed prior to executing a query.
@@ -496,14 +472,6 @@ public interface Transaction extends AutoCloseable {
*/
boolean isFlushOnQuery();
/**
* Deprecated renamed to isFlushOnQuery().
*/
@Deprecated
default boolean isBatchFlushOnQuery() {
return isFlushOnQuery();
}
/**
* The batch will be flushing automatically but you can use this to explicitly
* flush the batch if you like.
@@ -519,14 +487,6 @@ public interface Transaction extends AutoCloseable {
*/
void flush() throws PersistenceException;
/**
* Deprecated - migrate to flush().
* <p>
* flush() is preferred as it matches the JPA flush() method.
*/
@Deprecated
void flushBatch() throws PersistenceException;
/**
* Return the underlying Connection object.
* <p>
@@ -540,14 +500,6 @@ public interface Transaction extends AutoCloseable {
*/
Connection connection();
/**
* Deprecated migrate to connection().
*/
@Deprecated
default Connection getConnection() {
return connection();
}
/**
* Add table modification information to the TransactionEvent.
* <p>
@@ -98,4 +98,14 @@ public class Version<T> {
public Map<String, ValuePair> getDiff() {
return diff;
}
@Override
public String toString() {
return "Version{" +
"bean=" + bean +
", start=" + start +
", end=" + end +
", diff=" + diff +
'}';
}
}
@@ -11,7 +11,7 @@ import java.util.ServiceLoader;
/**
* Lookup internal services.
*/
class XServiceProvider {
final class XServiceProvider {
private static SpiRawSqlService rawSqlService = initRawSql();
@@ -18,7 +18,7 @@ import java.util.Set;
* <em>java.util.Collection</em>. The reason being that java.util.Map is not a
* Collection. I realise this makes this name confusing so I apologise for that.
*/
public interface BeanCollection<E> extends Serializable {
public interface BeanCollection<E> extends Serializable, ToStringAware {
enum ModifyListenMode {
/**
@@ -11,7 +11,7 @@ import java.io.Serializable;
* general application consumption.
* </p>
*/
public interface EntityBean extends Serializable {
public interface EntityBean extends Serializable, ToStringAware {
/**
* Return all the property names in defined order.
@@ -109,4 +109,8 @@ public interface EntityBean extends Serializable {
throw new NotEnhancedException();
}
@Override
default void toString(ToStringBuilder builder) {
throw new NotEnhancedException();
}
}
@@ -6,14 +6,15 @@ import io.ebean.ValuePair;
import javax.persistence.EntityNotFoundException;
import javax.persistence.PersistenceException;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.math.BigDecimal;
import java.net.URL;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@@ -364,7 +365,7 @@ public final class EntityBeanIntercept implements Serializable {
* Return true if the entity should be updated.
*/
public boolean isUpdate() {
return forceUpdate || state == STATE_LOADED;
return forceUpdate || state == STATE_LOADED || state == STATE_REFERENCE;
}
/**
@@ -833,7 +834,7 @@ public final class EntityBeanIntercept implements Serializable {
/**
* Load the bean when it is a reference.
*/
protected void loadBean(int loadProperty) {
void loadBean(int loadProperty) {
lock.lock();
try {
if (beanLoader == null) {
@@ -873,9 +874,6 @@ public final class EntityBeanIntercept implements Serializable {
}
if (lazyLoadProperty == -1) {
lazyLoadProperty = loadProperty;
if (nodeUsageCollector != null) {
nodeUsageCollector.setLoadProperty(getProperty(lazyLoadProperty));
}
loader.loadBean(this);
if (lazyLoadFailure) {
// failed when lazy loading this bean
@@ -890,7 +888,7 @@ public final class EntityBeanIntercept implements Serializable {
* Helper method to check if two objects are equal.
*/
@SuppressWarnings({"unchecked", "rawtypes"})
protected static boolean notEqual(Object obj1, Object obj2) {
static boolean notEqual(Object obj1, Object obj2) {
if (obj1 == null) {
return (obj2 != null);
}
@@ -914,9 +912,38 @@ public final class EntityBeanIntercept implements Serializable {
// use the string format to determine if dirty
return !obj1.toString().equals(obj2.toString());
}
if (obj1 instanceof File && obj2 instanceof File) {
File file1 = (File) obj1;
File file2 = (File) obj2;
if (file1.exists() && file2.exists() && file1.length() == file2.length()) {
return notEqualContent(file1, file2);
}
}
return !obj1.equals(obj2);
}
private static boolean notEqualContent(File file1, File file2) {
try (InputStream is1 = new FileInputStream(file1); InputStream is2 = new FileInputStream(file2)) {
byte[] buf1 = new byte[16384];
byte[] buf2 = new byte[16384];
int len1;
int len2;
while ((len1 = is1.read(buf1)) != -1 && (len2 = is2.read(buf2)) != -1) {
if (len1 != len2) {
return true;
}
if (!Arrays.equals(buf1, buf2)) {
// it does not matter, if we compare more than len1/len2 as the remainig
// bytes in the buffers are either 0 or equals from the prev. loop.
return true;
}
}
return false;
} catch (IOException e) {
return true; // handle them as "not equals"
}
}
/**
* Called when a BeanCollection is initialised automatically.
*/
@@ -1164,7 +1191,7 @@ public final class EntityBeanIntercept implements Serializable {
*/
public Map<String, Exception> getLoadErrors() {
if (loadErrors == null) {
return null;
return Collections.emptyMap();
}
Map<String, Exception> ret = null;
int len = getPropertyLength();
@@ -1,6 +1,6 @@
package io.ebean.bean;
import java.lang.ref.WeakReference;
import java.lang.ref.Cleaner;
import java.util.LinkedHashSet;
import java.util.Set;
@@ -8,120 +8,102 @@ import java.util.Set;
* Collects profile information for a bean (or reference/proxy bean) at a given node.
* <p>
* The node identifies the location of the bean in the object graph.
* </p>
* <p>
* It has to use a weak reference so as to ensure that it does not stop the
* associated bean from being garbage collected.
* </p>
*/
public final class NodeUsageCollector {
/**
* The point in the object graph for a specific query and call stack point.
*/
private final ObjectGraphNode node;
private final static Cleaner cleaner = Cleaner.create();
public static final class State implements Runnable {
private final NodeUsageListener listener;
/**
* The properties used at this profile point.
*/
private final Set<String> used = new LinkedHashSet<>();
/**
* The point in the object graph for a specific query and call stack point.
*/
private final ObjectGraphNode node;
/**
* set to true if the bean is modified (setter called)
*/
private boolean modified;
private State(ObjectGraphNode node, NodeUsageListener listener) {
this.node = node;
this.listener = listener;
}
@Override
public String toString() {
return node + " read:" + used + " modified:" + modified;
}
@Override
public void run() {
listener.collectNodeUsage(this);
}
/**
* Return true if no properties where used.
*/
public boolean isEmpty() {
return used.isEmpty();
}
/**
* Return the associated node which identifies the location in the object
* graph of the bean/reference.
*/
public ObjectGraphNode node() {
return node;
}
/**
* Return the set of used properties.
*/
public Set<String> used() {
return used;
}
/**
* Return true if the bean was modified by a setter.
*/
public boolean isModified() {
return modified;
}
}
private final State state;
public NodeUsageCollector(ObjectGraphNode node, NodeUsageListener listener) {
this.state = new State(node, listener);
cleaner.register(this, state);
}
/**
* Weak to allow garbage collection.
* Return the underlying state.
*/
private final WeakReference<NodeUsageListener> managerRef;
/**
* The properties used at this profile point.
*/
private final Set<String> used = new LinkedHashSet<>();
/**
* set to true if the bean is modified (setter called)
*/
private boolean modified;
/**
* The property that cause a reference to lazy load.
*/
private String loadProperty;
public NodeUsageCollector(ObjectGraphNode node, WeakReference<NodeUsageListener> managerRef) {
this.node = node;
// weak to allow garbage collection.
this.managerRef = managerRef;
public State state() {
return state;
}
/**
* The bean has been modified by a setter method.
*/
public void setModified() {
modified = true;
state.modified = true;
}
/**
* Add the name of a property that has been used.
*/
public void addUsed(String property) {
used.add(property);
}
/**
* The property that invoked a lazy load.
*/
public void setLoadProperty(String loadProperty) {
this.loadProperty = loadProperty;
}
/**
* Publish the usage info to the manager.
*/
private void publishUsageInfo() {
NodeUsageListener manager = managerRef.get();
if (manager != null) {
manager.collectNodeUsage(this);
}
}
/**
* publish the collected usage information when garbage collection occurs.
*/
@Override
protected void finalize() throws Throwable {
publishUsageInfo();
super.finalize();
}
/**
* Return the associated node which identifies the location in the object
* graph of the bean/reference.
*/
public ObjectGraphNode getNode() {
return node;
}
/**
* Return true if no properties where used.
*/
public boolean isEmpty() {
return used.isEmpty();
}
/**
* Return the set of used properties.
*/
public Set<String> getUsed() {
return used;
}
/**
* Return true if the bean was modified by a setter.
*/
public boolean isModified() {
return modified;
}
public String getLoadProperty() {
return loadProperty;
state.used.add(property);
}
@Override
public String toString() {
return node + " read:" + used + " modified:" + modified;
return state.toString();
}
}
@@ -10,7 +10,6 @@ public interface NodeUsageListener {
* <p>
* This is the properties that are used for a given bean in the object graph.
* This information is used by autoTune to tune queries.
* </p>
*/
void collectNodeUsage(NodeUsageCollector collector);
void collectNodeUsage(NodeUsageCollector.State state);
}
@@ -60,21 +60,15 @@ public interface PersistenceContext {
int size(Class<?> rootType);
/**
* Return a copy of the Persistence context to use for large query iteration.
* Signalizes the PersistenceContext, the begin for large query iteration.
*/
PersistenceContext forIterate();
void beginIterate();
/**
* Return a new Persistence context during iteration of large query result.
* Signalizes the PersistenceContext, the end for large query iteration.
*/
PersistenceContext forIterateReset();
/**
* Return true if the persistence context has grown and hit the 'reset limit'
* during large query iteration.
*/
boolean resetLimit();
void endIterate();
/**
* Wrapper on a bean to also indicate if a bean has been deleted.
* <p>
@@ -0,0 +1,12 @@
package io.ebean.bean;
/**
* A type that can participate in building toString content with ToStringBuilder.
*/
public interface ToStringAware {
/**
* Append to the ToStringBuilder.
*/
void toString(ToStringBuilder builder);
}

Some files were not shown because too many files have changed in this diff Show More