6081 Commits

Author SHA1 Message Date
gavinking
f6eaaca824 Fix up Dialect auto-detection
- make it work for DriverManagerConnectionProviderImpl
- improve logging and some confusing exceptions
- make it respect explicit database setting properties
2020-01-30 14:01:34 -06:00
gavinking
95930820af Support for timezones
- add TimestampWithTimeZoneDescriptor and use it in OffsetDateTimeJD
  and ZonedDateTimeJD
- add ZoneOffsetJavaDescriptor for ZoneOffset attributes
- clean up string rendering for temporal types using ISO formats;
  note that they do not need to implement objectToSQLString()
  since they cannot be discriminators

Note that at this time very few databases have meaningful support
for the ANSI-standard TIMESTAMP WITH TIME ZONE type. This limits
the usefulness of TimestampWithTimeZoneDescriptor for now.

Also add in some missing but needed type mappings for temporal types
2020-01-30 14:01:34 -06:00
gavinking
5a3838dfa6 Simplify the whole SqmFunctionDescriptor hierarchy
And make the various function implementations work in more common ways.

- remove some unnecessary flexibility
- simplify some function descriptors to do their work during render()
- fix generics of QueryLiteral
- fix DerbyConcatEmulation
2020-01-30 14:01:34 -06:00
gavinking
effec02964 Automatically generate check constraints for boolean and enum attributes
And make enums map to TINYINT by default.
2020-01-30 14:01:34 -06:00
gavinking
992b390fce Get type-specific column length/precision/scale defaulting working again
And fix resulting breakage to envers
2020-01-30 14:01:34 -06:00
gavinking
f0d93200b5 Add hibernate.dialect.show_hql_functions
Very useful feature for logging available functions
2020-01-30 14:01:34 -06:00
gavinking
96c948b06b Changes to tests
First, disable tests that fail because of loss of indirected parameter binding.
On the other branch, the index of a HQL parameter wasn't passed directly through
as the index of the JDBC parameter. On this branch it seems to be. This causes a
problem for fancy HQL functions like overlay() and pad() which sometimes
duplicate/reorder HQL arguments in the generated SQL.

Also reenable tests that now pass.

Also fixed a rather badly-written test that failed for me.

- called Thread.sleep(), wasting a whole second
- failed on non-slow machines
2020-01-30 14:01:34 -06:00
gavinking
5b18a4048d Make parenthesized expressions work in HQL
Previously, parenthesized expression were broken.
2020-01-30 14:01:34 -06:00
gavinking
95a291575e Hacky solution to make count(e) work again
(It wasn't working on the new 6 branch)
2020-01-30 14:01:34 -06:00
gavinking
28232427ce Got unary +, - working again
(They were unimplemented on the new 6 branch)
2020-01-30 14:01:34 -06:00
gavinking
9565d499af Big merge of my branch with new Hibernate 6 codebase
Lots of new functionality here related to HQL functions, SQL
dialects, and date/time handling.
2020-01-30 14:01:33 -06:00
Davide D'Alto
4cd9dd30a0 HHH-13831 Rename test class to EventListenerDuplicationStrategyTest 2020-01-30 18:09:23 +01:00
Davide D'Alto
0268ba9a33 HHH-13831 Test listeners error replacement strategy 2020-01-30 18:09:23 +01:00
Davide D'Alto
e38d2be431 HHH-13831 Test listener keep original replacement strategy 2020-01-30 18:09:23 +01:00
Davide D'Alto
6670d03493 HHH-13831 Add tests for multiple listeners
We want to test what happens when we apply a replacement strategy
  that doesn't match all listeners.
2020-01-30 18:09:23 +01:00
Davide D'Alto
695e3a084e HHH-13831 Clean up existing tests for listeners 2020-01-30 18:09:23 +01:00
Davide D'Alto
7bf632e5c5 HHH-13831 Fix the way we keep track of the callers in test 2020-01-30 18:09:23 +01:00
Davide D'Alto
c0a2b4f424 HHH-13831 Add missing placeholder to log message 2020-01-30 18:09:23 +01:00
Steve Ebersole
0a2dd4e126 HHH-13831 Refresh listeners when one is replaced 2020-01-30 18:09:23 +01:00
Steve Ebersole
2f86c4983f HHH-13831 Refresh listeners when one is replaced 2020-01-30 18:09:23 +01:00
Davide D'Alto
739ca869af HHH-13831 Test for replacing listeners 2020-01-30 18:09:23 +01:00
Davide D'Alto
5c1cc35f98 HHH-13831 Refresh listeners when one is replaced 2020-01-30 18:09:23 +01:00
Christian Beikov
89ebcfbc32 Allow to invoke list() operation also without unique filtering 2020-01-30 17:24:49 +01:00
Christian Beikov
7b064afbd3 Use type inference for every added when/otherwise arm for case expressions 2020-01-30 17:23:54 +01:00
Sanne Grinovero
f7aba3ea17 HHH-13833 Replace references to Opcodes.ASM7 with OpenedClassReader.ASM_API 2020-01-30 09:02:43 +00:00
Nathan Xu
3eb49972f3 HHH-8776 add more 'final' keywords to align with existing coding style 2020-01-29 20:52:33 +01:00
Nathan Xu
d02ce91e9c HHH-8776 add testing cases to prove 'fetch graph' takes precedence over 'fetch profile' 2020-01-29 20:52:33 +01:00
Nathan Xu
29f905dafc HHH-8776 fix check style issue 2020-01-29 20:52:33 +01:00
Nathan Xu
f3cfff5cee HHH-8776 fix 'fetch graph' semantic 2020-01-29 20:52:33 +01:00
Christian Beikov
1cd5ea61f6 Fix type inference for case expressions and simple case SQL rendering issue 2020-01-29 19:05:16 +01:00
Christian Beikov
f66728d5b2 Fix plural join alias de-reference 2020-01-29 17:51:13 +01:00
Christian Beikov
31377b1423 Register JPA embeddable types properly, allow access to functions in registry and fix AttributeClassifications 2020-01-29 17:51:13 +01:00
Gwenneg Lepage
a4ba766620 HHH-13833 Replace OpCodes.ASM5 with OpCodes.ASM7 in the Byte Buddy enhancer 2020-01-29 15:48:53 +00:00
Sanne Grinovero
252ca9e98b HHH-13832 Optimise setting of default Flush Mode on a newly created Session 2020-01-29 15:42:23 +00:00
Jonathan Bregler
b178f9e23a HHH-13783: fix test failure in HiLoSequenceMismatchStrategyTest 2020-01-28 21:36:32 +01:00
Andrea Boriero
b51d34a22d HHH-13796 Fix test failure on Oracle 2020-01-28 15:18:06 +00:00
Nathan Xu
9d2ac546f3 HHH-13677 make org.hibernate.flushMode config take effect 2020-01-28 08:14:39 +00:00
Nathan Xu
a6934467f7 HHH-6686 fix JQL exception in face of 'empty' 2020-01-27 14:55:39 +00:00
Andrea Boriero
f1d1e62478 HHH-10844 Fix test formatting 2020-01-27 13:42:34 +00:00
Jan-Willem Gmelig Meyling
85bfcc6e21 HHH-13796 - Missing from clause in query from BinaryLogicOperatorNode row value constructor translation
https://hibernate.atlassian.net/browse/HHH-13796
2020-01-27 13:40:44 +00:00
Andrea Boriero
c5581e6759 HHH-13783 Fix test failing on Oracle 2020-01-27 12:10:15 +00:00
Nathan Xu
0c8e3056dc HHH-13783 avoid SequenceMismatchStrategy checking for non-pooled optimizer 2020-01-24 12:15:43 +00:00
Andrea Boriero
5844bbd85b HHH-12856 Reintroduce supportsLimitOffset for legacy OS400 2020-01-24 11:32:44 +00:00
Pierrick Rouxel
7b1d1a1f3a HHH-12856 Add AS400V7R3Dialect as default for V7R3 of IBM i 2020-01-24 11:29:01 +00:00
Pierrick Rouxel
1038a0c968 HHH-12856 Reintroduce limitation for legacy OS400 2020-01-24 11:29:01 +00:00
Pierrick Rouxel
b204c95e0c HHH-12856 Fix sequences with liblist support 2020-01-24 11:29:01 +00:00
Pierrick Rouxel
4aea43bdb0 HHH-12856 Cleanup DB2400Dialect 2020-01-24 11:29:01 +00:00
Pierrick Rouxel
1c3b8a1c28 HHH-12856 Support of sequences on DB2400 2020-01-24 11:29:01 +00:00
Andrea Boriero
d04a1fe3fd HHH-13373 Remove FailureExpected annotation from tests and assure tearDownDBs method is executed even if an error occurs in the setUpDBs method 2020-01-24 09:59:02 +00:00
Nathan Xu
bc2aa159a1 HHH-13373 ensure testing code correctness by local testing 2020-01-23 11:06:34 +00:00