Commit Graph

9257 Commits

Author SHA1 Message Date
Guillaume Smet 9fde3e08f0 HHH-12832 Make SchemaUpdateHaltOnErrorTest use the CustomRunner
Otherwise @SkipForDialect doesn't work.
2018-07-20 10:37:06 +02:00
Martin Simka 188760250a HHH-12838 Fix AndNationalizedTests with DB2
This is consecutive to the changes made in HHH-12753.
2018-07-20 10:25:46 +02:00
Gail Badner 44ecb96e2d HHH-12666 : Add test 2018-07-20 10:08:54 +02:00
Gail Badner a790096965 HHH-12666 : Add documentation 2018-07-20 10:08:34 +02:00
Gail Badner 9bb9e4bc38 HHH-12666 : Added more tests 2018-07-20 10:08:24 +02:00
Yoann Rodière 88fb16e5c9 HHH-12666 Test the current behavior of exception conversion on persist/save/merge/flush/etc.
Original tests by Gail Badner:
09aa6fbce2
2018-07-20 10:05:53 +02:00
Gail Badner 8ef0ca9a13 HHH-12666 : Add an option for restoring 5.1 native exception handling 2018-07-19 23:48:23 -07:00
Martin Simka 9286f9147b HHH-12833 Fix UniqueConstraintDropTest with DB2 2018-07-19 16:05:35 +02:00
Chris Cranford ad5f96c613 HHH-12753 - Remove an override that was not relevant to this jira. 2018-07-19 10:01:16 -04:00
Chris Cranford 005d5b7c74 HHH-12753 - Fix Nationalized CLOB test failures on DB2.
Force column read/write to use non-nationalized driver methods since the driver does
not implement the nationalized equivalents.
2018-07-19 09:54:13 -04:00
nikowitt c17a83cc0d HHH-12830 Improve error message when a method is called in a non active
transaction
2018-07-19 15:22:31 +02:00
Guillaume Smet cc600abf38 HHH-12832 Skip SchemaUpdateHaltOnErrorTest and al. with DB2
DB2 has no issue with reserved keywords in the CREATE TABLE clause so
let's skip these tests.

There is very little value to test them for every dialect anyway.
2018-07-19 15:04:27 +02:00
Guillaume Smet 2d318b76b2 HHH-12822 Skip "case when" tests requiring casts for DB2 2018-07-19 15:04:27 +02:00
Guillaume Smet de4c356189 HHH-12827 Define a numeric type as decimal for DB2
DB2 converts the numeric type to decimal and returns Types.DECIMAL for a
numeric. We change the type name used so that we have a match when
comparing the type names as last resort.
2018-07-19 15:04:27 +02:00
Guillaume Smet 19d31ea94d HHH-12815 Remove the zeroDateTimeBehavior option
It's useless for this test and it causes compatibility issues.
2018-07-19 13:26:52 +02:00
Guillaume Smet f8964847dd HHH-12829 Update the Ehcache documentation to use the new short names 2018-07-19 10:23:07 +02:00
Guillaume Smet 51c67310f7 HHH-12791 Cache the Component type to avoid generating one proxy per call
While Javassist only generates one proxy as the name is stable,
ByteBuddy uses random names and thus generates a new proxy for every
call, leading to the generation of 18 different proxies for the other
test of the test class.

We can't do better than using a volatile/synchronized pattern as the
Component is not fully initialized in the constructor.

Maybe we could take the risk of admitting that the getType() method is
called at least once before we pass the element to a multi-threaded
environment but that's a bet I don't want to take alone.
2018-07-19 10:01:22 +02:00
Guillaume Smet ac11b7fd8c HHH-12828 Make ScannerTests more stable
In a shared containerized environment like Travis, it's not obvious that
the second read will be faster than the first one.

And indeed, the test often fails.

There's no real value in testing that, we are just testing I/O, and the OS
cache.
2018-07-19 09:59:48 +02:00
Chris Cranford 3fe7d6e13e HHH-12826 - Persist cascade of collection fails when orphan removal enabled with flush mode commit. 2018-07-18 18:08:55 -04:00
Chris Cranford 3d93073b83 HHH-12826 - Added test case. 2018-07-18 18:06:58 -04:00
Chris Cranford 15a59a1a19 HHH-12542 - Add necessary privileged action blocks for SecurityManager used on WildFly. 2018-07-18 17:18:51 +02:00
Martin Simka 8df12b7d0a HHH-12825 CriteriaHQLAlignmentTest.testCountReturnValues fails on databases that don't support tuple distinct counts because it expects wrong exception 2018-07-18 16:02:52 +02:00
Martin Simka 3f468facd0 HHH-12824 ASTParserLoadingTest.testComponentNullnessChecks fails with DB2 because it uses legacy-style query parameter 2018-07-18 15:59:39 +02:00
Martin Simka 393129fd1d HHH-12823 CompositeIdTest.testDistinctCountOfEntityWithCompositeId fails on databases that don't support tuple distinct counts because it expects wrong exception
The SQLGrammarException is now wrapped in a PersistenceException, we
should take that into account.
2018-07-18 14:38:07 +02:00
Guillaume Smet 2fd89dcc1a HHH-12820 Initialize the 5.4 migration guide 2018-07-18 11:40:12 +02:00
Guillaume Smet 2733a3cb09 HHH-12816 Enable the experimental features of ByteBuddy when building with JDK 11 2018-07-17 19:33:06 +02:00
Guillaume Smet 92f4758889 HHH-12718 Add a comment about the true meaning of interceptorHandledDirtyCheck 2018-07-17 11:56:50 +02:00
Yoann Rodière 7134e8b968 HHH-12718 Avoid double negations in DefaultFlushEntityEventListener#dirtyCheck 2018-07-17 11:56:26 +02:00
Yoann Rodière 74aa03881a HHH-12718 Compute dirtiness using whatever method is appropriate after a flush event interception
We used to have a simpler version of the dirtyCheck() method after an
interception, but that's not enough.
2018-07-17 11:52:33 +02:00
Yoann Rodière a9f743069b HHH-12718 Test that dirtiness strategies are invoked a second time after a flush interceptor changes the entity state
Bytecode enhancement is harder to test, so I didn't add a test for that,
but since bytecode enhancement dirty checking is called exactly at the
same place, if one works, the other should, too.
2018-07-17 11:52:33 +02:00
Ulrich Bestfleisch c3c322d91b HHH-12718 - Entity changes in @PreUpdate callback are not persisted when lazy loading is active for more than one field 2018-07-17 11:52:03 +02:00
Yoann Rodière 523b29af04 HHH-12795 Remove duplicate code from SessionImpl
SessionImpl.initQueryFromNamedDefinition calls its super implementation
AbstractSharedSessionContract.initQueryFromNamedDefinition, which
already does a lot of the work performed in
SessionImpl.initQueryFromNamedDefinition.
The only difference is that SessionImpl uses hints to set values on the
query, whereas AbstractSharedSessionContract uses direct calls to
setters. But that should produce the same result, since setHint() just
delegates to the setters.

Only one thing was done in SessionImpl but not in
AbstractSharedSessionContract: lock mode handling.
I left it in SessionImpl since moving it to the superclass would also
affect other subclasses such as StatelessSession or OGM sessions, and I
certainly don't want to change any behavior without further
investigation.
2018-07-17 11:06:59 +02:00
Yoann Rodière a0e6d86052 HHH-12795 Test the flushMode attribute of @NamedQuery and @NamedNativeQuery 2018-07-17 11:06:59 +02:00
Yoann Rodière a9fdc1239a HHH-12795 Use the exact flush mode specified in @NamedQuery/@NamedNativeQuery when instantiating named queries
... instead of using an approximation in terms of JPA flush mode.
2018-07-17 11:06:59 +02:00
Guillaume Smet fa02d1c65f HHH-12811 Add @Target annotations to @CreationTimestamp and @UpdateTimestamp 2018-07-17 10:59:06 +02:00
Guillaume Smet 208e789bb1 HHH-12786 Improve the basic proxy interceptor
Apart from cosmetic changes, we were testing in the equals() method that the
instance == the proxied object which will always be true.

We should use the argument of the equals() method instead to do the
comparison.

And we can do the comparison on the instance, instead of requiring
passing the proxiedObject into the interceptor.
2018-07-16 17:34:48 +02:00
Guillaume Smet f722db367e HHH-12786 Only define the default constructor
We don't need the others, better not create them in the proxy.
2018-07-16 17:34:48 +02:00
Guillaume Smet ed53fd5346 HHH-12786 Allow to call methods when the interceptor is not set yet
Typically, if the constructor calls instrumented methods, the
interceptor is not defined yet and we get a NPE.
2018-07-16 17:34:48 +02:00
Guillaume Smet 3759f776ab HHH-12786 Properly indent the Bytebuddy DSL
It helps to understand what exactly these calls do.
2018-07-16 17:34:48 +02:00
Guillaume Smet 6e85dd82f3 HHH-12807 Force to execute the release task with JDK 8
Considering hibernate-orm-modules tests are disabled with JDK 11, it's
safer to prevent us from running a release with it. And all in all, we'd
better release with JDK 8.
2018-07-16 15:05:47 +02:00
Guillaume Smet 4d057eab2f HHH-12813 Disable Asciidoclet in Javadoc generation
We don't have the certainty that we don't use Asciidoctor Javadoc but
using Asciidoclet leads to malformed Javadoc if we are using HTML
Javadoc, which concerns the high majority of our files.
2018-07-15 15:02:50 +02:00
Guillaume Smet 2b564d4046 HHH-12809 Use an HTTP link for the Javadoc link to our Bean Validation documentation 2018-07-14 19:36:38 +02:00
Guillaume Smet 02da69d50a HHH-12808 Upgrade Gradle to 4.8.1 2018-07-14 13:39:03 +02:00
Guillaume Smet 3577e8540f HHH-12807 Disable the hibernate-orm-modules tests for JDK 11 2018-07-14 13:34:52 +02:00
Guillaume Smet 3abb6805b6 HHH-12805 Upgrade Mockito to 2.19.1 2018-07-14 11:59:53 +02:00
Guillaume Smet f274db28f6 HHH-12804 Don't mock Map in CollectionBinderTest
Apparently, Mockito + ByteBuddy are unable to mock Map on JDK 11.

It might be solved in the future but there's no point in doing it so
let's avoid it.
2018-07-14 11:45:56 +02:00
Guillaume Smet 972a79d448 HHH-12803 Upgrade ByteBuddy to 1.8.13 2018-07-14 11:43:28 +02:00
Guillaume Smet 99b4f3c24a HHH-12801 Adjust the assertion to the new message generated by JDK 11 2018-07-14 11:43:16 +02:00
Guillaume Smet 5ec70ec22e HHH-12800 Use a class loading strategy suitable for the JDK used
The previously chosen strategy used misc.Unsafe which is not possible
anymore with JDK 11.
2018-07-14 11:43:16 +02:00
Gail Badner 9202a5a11d HHH-12802 : Fix test case to recover from exception properly 2018-07-13 15:51:39 -07:00