Commit Graph
681 Commits
Author SHA1 Message Date
Rob Bygrave f145aaa1e2 Bump ebean-agent to 13.10.1 2022-11-02 22:04:37 +13:00
Rob BygraveandGitHub faa58f0fe4 Merge pull request #2867 from FOCONIS/fix-flush-transaction
FIX: Flush transaction if it is modified in callback
2022-10-26 17:23:05 +13:00
Roland Praml d190cd3a08 NOCODE: Fix Whitespace 2022-10-25 14:19:26 +02:00
Roland Praml a82ba6d4aa FIX: Flush transaction if it is modified in callback 2022-10-25 10:58:06 +02:00
Rob Bygrave f24f912693 Fix Postgres/Yugabyte test - TestDbArray_basic.asDto_withArray() for nullable DbArray #2855 2022-10-17 11:19:34 +13:00
Rob Bygrave 3c298a67ff [maven-release-plugin] prepare for next development iteration 2022-10-14 13:31:18 +13:00
Rob Bygrave 27504a4dae [maven-release-plugin] prepare release ebean-parent-13.10.0 2022-10-14 13:31:10 +13:00
Rob Bygrave 9c64a69b8c Bump to 13.10.0-SNAPSHOT 2022-10-14 13:13:09 +13:00
Rob Bygrave 6c354357ff Update and fix pom versions after merge of older PR 2022-10-14 12:57:45 +13:00
Rob BygraveandGitHub 19bbe6e860 Merge pull request #2828 from ebean-orm/feature/jackson-mapper-module
Extract jackson mapper module
2022-10-14 12:39:43 +13:00
Rob BygraveandGitHub 62adaa7527 Merge pull request #2826 from ebean-orm/feature/json-node-module
Refactor extract ebean-jackson-jsonnode module - support for Jackson JsonNode (into separate module)
2022-10-14 12:39:27 +13:00
Rob Bygrave 9a25fb584c #2855 - @DbArray not allowing null to be persisted, stores empty list instead
Currently, this bug fix needs to be enabled explicitly via ebean.mf with:

allow-nullable-dbarray: true

We will look to enable this bug fix by default shortly noting that some code
will see a behaviour change. We need to publicise it well when we do turn
this on by default.

This bug fix is actually in ebean-agent 13.10.0 and all this change in ebean-core
does is read the new `@DbArray(nullable=false)` attribute [as a new alternative to
using `@NotNull` or `@Column(nullable=false)`]
2022-10-14 11:14:12 +13:00
Rob Bygrave 5a49041a3b Tidy test UserInterestLiveKey, final with accessors 2022-09-23 13:54:17 +12:00
Rob Bygrave ea341a556d Bump postgresql to 42.5.0 2022-09-23 13:53:45 +12:00
Rob Bygrave 993607ef4b [maven-release-plugin] prepare for next development iteration 2022-09-14 11:18:25 +12:00
Rob Bygrave 18765b3ac2 [maven-release-plugin] prepare release ebean-parent-13.9.3 2022-09-14 11:18:18 +12:00
Rob Bygrave 14d11b1c70 Improve tests only - ExtendedServerTest and test-java16 2022-09-11 17:12:02 +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 5981d313ae Rename ebean-json-node module to ebean-jackson-jsonnode 2022-09-08 14:50:58 +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 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 2022-09-05 17:44:28 +12:00
Noemi Praml 13622f6b62 migrations scripts 2022-09-02 13:27:11 +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 Bygrave 674150dc75 Minor dependency bump for jackson, assertj-core, joda-time, h2database 2022-09-02 10:50:23 +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 2022-09-02 09:16:01 +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 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 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 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 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 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 Bygrave 7ce85fe5f2 Refactor method names SpiJsonReader and DocStore types 2022-08-27 20:09:27 +12:00
Rob Bygrave e51ac7de36 Refactor tidy error and log messages 2022-08-27 16:50:54 +12:00
Rob Bygrave 3f2d0ef520 Bump to 13.9.0-SNAPSHOT 2022-08-26 17:49:01 +12:00
Rob Bygrave b7e62df371 Refactor extract ebean-joda-time module - move joda ScalarTypes
Moves the joda-time ScalarTypes into a new ebean-joda-time module. Include
the ebean-joda-time module in the classpath, and the extra types will be
service loaded (by DefaultTypeManager).
2022-08-26 17:32:31 +12:00
Rob Bygrave 4c13a3a779 Refactor move package - server.type.DataBind to server.bind, server.text.json -> server.json
The DataBind classes don't need to be in with server.type anymore.
The server.text.json package can just reduce package nesting.
2022-08-26 14:51:19 +12:00
Rob Bygrave 1aac01ead0 Extract CsvReader - move DefaultCsvCallback and add module-info 2022-08-25 17:49:11 +12:00
Rob Bygrave 216c43eea6 Extract CsvReader into separate ebean-csv-reader module 2022-08-25 17:25:49 +12:00
Rob BygraveandGitHub 3092b59622 Merge pull request #2800 from ebean-orm/feature/refactor-databasePlatform
Refactor database platform - remove unused tableExists() method, rename getters to accessors
2022-08-25 12:01:49 +12:00
Rob Bygrave 981c3595a8 [maven-release-plugin] prepare for next development iteration 2022-08-25 11:34:05 +12:00
Rob Bygrave 5414fa17cf [maven-release-plugin] prepare release ebean-parent-13.8.1 2022-08-25 11:33:58 +12:00
Rob Bygrave 456086fb3c Refactor DatabasePlatform - rename getters to accessors
Although this is public API these getters are not expected to be used
by application code so, I feel comfortable making this change.
2022-08-25 10:34:39 +12:00
Rob Bygrave 01155c3466 #2798 - SQL Anywhere: invalid escape character on like expression 2022-08-23 18:16:51 +12:00
Rob Bygrave 4252445eb4 Use AppLog and System.Logger for logging - static imports 2022-08-23 15:18:46 +12:00