Commit Graph
6262 Commits
Author SHA1 Message Date
Rob Bygrave 7f5f0f6b8e Extract ebean-jackson-mapper module - fix module-info with requires com.fasterxml.jackson.annotation; 2022-09-08 23:05:16 +12:00
Rob Bygrave 318b22448c Extract ebean-jackson-mapper module - refactor DefaultTypeManager.dbJsonType()
- When detected markerAnnotation (e.g. Jackson annotation) then go directly to createJsonObjectMapperType()
- Simplify for the simple List, Set and Map of Object cases.
2022-09-08 23:01:05 +12:00
Rob Bygrave 610b3f7dc8 Extract ebean-jackson-mapper module - Change checkJacksonAnnotations() to instead use ScalarJsonMapper.markerAnnotation() 2022-09-08 22:38:10 +12:00
Rob Bygrave 7a887d219f Extract ebean-jackson-mapper module - rename DeployBeanObtainJackson -> AnnotatedClassUtil and convert to static method 2022-09-08 22:14:16 +12:00
Rob Bygrave e74e4ba532 Extract ebean-jackson-mapper module - rename ScalarTypeJsonObjectMapper to ScalarJsonJacksonMapper and move 2022-09-08 22:09:10 +12:00
Rob Bygrave d5f753d110 Extract ebean-jackson-mapper module - initial step 2022-09-08 21:39:00 +12:00
Rob Bygrave c53ca6c16e Rename ebean-json-node module to ebean-jackson-jsonnode 2022-09-08 14:53:33 +12:00
Rob Bygrave 5981d313ae Rename ebean-json-node module to ebean-jackson-jsonnode 2022-09-08 14:50:58 +12:00
Rob Bygrave cba3d24df1 Refactor DeployUtil rename methods (change/improve method names) 2022-09-07 22:56:43 +12:00
Rob Bygrave 27beab2980 Refactor internal TypeManager change/improve its method names 2022-09-07 22:53:15 +12:00
Rob Bygrave aeb4b8ed25 Refactor TypeManager - remove unnecessary add() method from interface allowing it to be private 2022-09-07 22:41:56 +12:00
Rob Bygrave edddc935df Update DefaultTypeManager to reuse PostgresHelper.isPostgresCompatible() 2022-09-07 22:38:09 +12:00
Rob Bygrave 5c1b478085 Refactor extract ebean-json-node module - support for Jackson JsonNode (into separate module) 2022-09-07 21:39:36 +12:00
Rob Bygrave 39de9d56db #2825 - DB Migration - create schema migration is repeated unnecessarily 2022-09-07 19:55:43 +12:00
Rob Bygrave 94dbd9d6ad Bump to 13.9.3-SNAPSHOT after release 2022-09-05 19:28:41 +12:00
Rob Bygrave 7c23dd06f8 [maven-release-plugin] prepare for next development iteration 2022-09-05 17:44:35 +12:00
Rob Bygrave e813edae01 [maven-release-plugin] prepare release ebean-parent-13.9.2 ebean-parent-13.9.2 2022-09-05 17:44:28 +12:00
Rob Bygrave 4218d5bd48 Bump ebean-agent to 13.9.2 (no effective change) 2022-09-05 17:29:36 +12:00
Rob BygraveandGitHub aaf7aa8386 Merge pull request #2822 from FOCONIS/call-reorg-after-drop-not-null
FIX: DB2 migration: call reorg after drop not null
2022-09-05 17:14:21 +12:00
Rob BygraveandGitHub fbe84a7c62 Merge pull request #2824 from ebean-orm/feature/2823-jdbcTransaction_isActive
#2823 - Revert JdbcTransaction.isActive() back to be non-final method
2022-09-05 17:03:29 +12:00
Rob Bygrave cbd213aad3 #2823 - Revert JdbcTransaction.isActive() back to be non-final method 2022-09-05 17:02:45 +12:00
Noemi Praml 13622f6b62 migrations scripts 2022-09-02 13:27:11 +02:00
Noemi Praml 8fe6de376d Fix sqlserver stored procedures - reserved keywords
(cherry picked from commit 09bcf6dbb9)
2022-09-02 12:58:02 +02:00
Noemi Praml 808ba719f4 Fix mariadb, mysql stored procedure usp_ebean_drop_column - reserved keywords
(cherry picked from commit b0df177509)
2022-09-02 11:53:33 +02:00
Noemi Praml 117844b5ee Fix Unittests with drop not null
(cherry picked from commit 98e0e3b9ca)
2022-09-02 10:49:39 +02:00
Noemi Praml fbb73d465c FIX DB2 migration: reorg table must be called after drop not null 2022-09-02 10:49:25 +02:00
Rob BygraveandGitHub a5c3bbb97e Merge pull request #2821 from ebean-orm/feature/minor-dependency-bump
Minor dependency bump for jackson, assertj-core, joda-time, h2database
2022-09-02 10:55:48 +12:00
Rob Bygrave 674150dc75 Minor dependency bump for jackson, assertj-core, joda-time, h2database 2022-09-02 10:50:23 +12:00
Rob Bygrave ad938b2ce2 Bump to 13.9.2-SNAPSHOT after release 2022-09-02 09:34:59 +12:00
Rob Bygrave 5b1ace8607 [maven-release-plugin] prepare for next development iteration 2022-09-02 09:16:08 +12:00
Rob Bygrave 74321277ff [maven-release-plugin] prepare release ebean-parent-13.9.1 ebean-parent-13.9.1 2022-09-02 09:16:01 +12:00
Rob Bygrave c60362f6e1 Bump ebean-agent to 13.9.1 - no effective change 2022-09-02 09:10:15 +12:00
Rob BygraveandGitHub c1320e4184 Merge pull request #2815 from ebean-orm/feature/2814-nestedUseSavepoint
#2814 - Change setNestedUseSavepoint() to use 'ScopeTrans' rather than the underlying Transaction
2022-09-02 08:20:53 +12:00
Rob BygraveandGitHub a7ea2cf3ef Merge pull request #2820 from ebean-orm/feature/2818-fix-concurrentModOfTransactionEvent
#2818 - Fix Concurrent modification of listenerNotify TransactionEvent list
2022-09-02 08:19:03 +12:00
Rob BygraveandGitHub f86a0ac973 Merge pull request #2819 from ebean-orm/feature/enh-addRollbackAndContinue
ENH: Add Transaction.rollbackAndContinue()
2022-09-02 08:18:25 +12:00
Rob Bygrave bcc21b1c04 #2818 - Fix Concurrent modification of listenerNotify TransactionEvent list
The issue fixed here is that SavepointTransaction was effectively using the
TransactionEvent of the underlying 'parent' transaction. The fix is for
SavepointTransaction to have its own TransactionEvent.
2022-09-01 22:45:17 +12:00
Rob Bygrave d517dea27f ENH: Add Transaction.rollbackAndContinue() 2022-09-01 22:26:52 +12:00
Rob Bygrave 7df168f232 ENH: Add Transaction.rollbackAndContinue()
Typically useful for handling DuplicateKeyException where we expect
DuplicateKeyException to be thrown and catch it with the intention of
continuing processing using the same transaction.

Note that some databases like Oracle do not require this explicit
rollback() and would work without the rollbackAndContinue(). Postgres
in particular requires the rollback() call on the underlying connection
such that we can continue using that transaction/java.sql.Connection.

Note that in the existing test we can see that rollbackAndContinue()
is pretty close to being syntactic sugar. I think adding rollbackAndContinue()
is justified and complements the existing commitAndContinue().
2022-09-01 17:08:11 +12:00
Rob Bygrave 563340edbd Bump to 13.9.1-SNAPSHOT after release 2022-09-01 16:47:22 +12:00
Rob Bygrave 28d70cf9c4 [maven-release-plugin] prepare for next development iteration 2022-09-01 12:33:08 +12:00
Rob Bygrave 25d0675532 [maven-release-plugin] prepare release ebean-parent-13.9.0 ebean-parent-13.9.0 2022-09-01 12:33:01 +12:00
Rob Bygrave c8ffad2831 Fix TestSubQuery for postgres compatible syntax with ANY(?) 2022-09-01 12:25:50 +12:00
Rob Bygrave 8233058d2e Bump ebean-agent to 13.9.0 (no effective change) 2022-09-01 12:23:00 +12:00
Rob Bygrave f7e00aab78 #2457 #2810 - Add ebean-joda-time as a dependency to ebean composite
- Add ebean-joda-time as a dependency to ebean composite
- Add ebean-joda-time to BOM
2022-09-01 11:37:28 +12:00
Rob BygraveandGitHub a111f3ff10 Merge pull request #2816 from ebean-orm/feature/2813-subQueryCompile-raceCondition
#2813 - Sometimes subquery use wrong alias in SQL
2022-09-01 11:18:23 +12:00
Rob Bygrave 29e2b81092 #2813 - Sometimes subquery use wrong alias in SQL
The reason for this is that as part of DefaultOrmQuery.copy() it uses
DefaultExpressionList.copy() and that assumed that expressions were
safe to share which is NOT the case for IN and EXISTS sub-query expressions
so InQueryExpression and ExistsQueryExpression

The effective fix for this is that DefaultExpressionList.copy() changes
to call SpiExpression.copy() and for InQueryExpression and ExistsQueryExpression
to implement that copy() by creating a copy of the sub-query.

A "side-fix" is that in DefaultOrmQuery.createExtraJoinsToSupportManyWhereClause()
it was creating an instance of ManyWhereJoins, then mutating it ... and if we
change that to only doing the assignment at the end (object assignment is atomic)
then racy access reading ManyWhereJoins would always get a fully completed non-mutating
instance of ManyWhereJoins. Noting this because it kind of points to where I think
the race condition is (in createExtraJoinsToSupportManyWhereClause()) but noting that
with the change to DefaultExpressionList.copy() this "side-fix" isn't required per say.
2022-08-31 17:24:55 +12:00
Rob Bygrave 0dda3e0e93 #2814 - Change setNestedUseSavepoint() to use 'ScopeTrans' rather than the underlying Transaction
The reason for this is that ScopedTransaction holds a stack of ScopeTrans and Transaction, but
the actual transaction in this stack is often the same instance / shared when nesting. The issue
is that currently setNestedUseSavepoint() sets this flag on the *_underlying transaction_* and
this instance is the same / shared when 'nesting'.

This change moves the nestedUseSavepoint flag for ScopedTransaction to be on ScopeTrans
(from the underlying transaction).
2022-08-31 11:39:02 +12:00
Rob Bygrave f07c7411fa No effective change - tidy SqlTreeAlias only 2022-08-30 12:37:27 +12:00
Rob BygraveandGitHub b4d037fa18 Merge pull request #2812 from ebean-orm/feature/inspect-tidy
IntelliJ inspect various improvements
2022-08-30 11:58:54 +12:00
Rob Bygrave e46bbcf8cf NaturalKeyQueryData use the matchSingleProperty + IntelliJ Inspect various improvements
The non-use of the matchSingleProperty meant it fell back to the multi-property match
2022-08-27 23:10:13 +12:00