10411 Commits

Author SHA1 Message Date
gavinking
294f16f73d hibernate.legacy_limit_handler no longer has any effect
Therefore:

- mark USE_LEGACY_LIMIT_HANDLERS deprecated
- delete the tests for this workaround (which were broken anyway)
2020-01-31 11:21:29 +01:00
gavinking
6a8d0bf801 Fix grammar 2020-01-31 11:19:37 +01:00
gavinking
2175aea8ad File headers and newlines 2020-01-31 10:58:42 +01:00
gavinking
41577dcec4 Map Durations to NUMERIC instead of BIGINT 2020-01-30 14:01:34 -06:00
gavinking
9a061c5c10 Render HQL Boolean literals correctly on dialects which use BIT for boolean 2020-01-30 14:01:34 -06:00
gavinking
0d3b130258 Remove support for octal literals
For the datetime stuff we need integer literals with leading zeros, and
surely there is not a single breathing person who has ever written an
octal literal in HQL.
2020-01-30 14:01:34 -06:00
gavinking
42de2976e1 don't swallow connection errors
This bug made it *really* hard to figure out what was going on with
rejected connections!
2020-01-30 14:01:34 -06:00
gavinking
b085730dd8 Use autoboxing in BooleanTypeDescriptor 2020-01-30 14:01:34 -06:00
gavinking
1989635bc2 Clean up use of generic types in EnumValueConverters
Use the "self type" idiom correctly.
2020-01-30 14:01:34 -06:00
gavinking
d5096fc660 TinyInt should not use Short here 2020-01-30 14:01:34 -06:00
gavinking
41cb827267 Delete two obsolete ICS classes 2020-01-30 14:01:34 -06:00
gavinking
e4379bea4b Improve javadoc 2020-01-30 14:01:34 -06:00
gavinking
a63d23f724 Use switch for consistency 2020-01-30 14:01:34 -06:00
gavinking
eb71ec395d Oracle doesn't recognize "as", so use the Dialect to decide 2020-01-30 14:01:34 -06:00
gavinking
5cae462f7a Let ClobTypeDescriptor handle Strings
Just like BlobTypeDescriptor can handle byte[] arrays
2020-01-30 14:01:34 -06:00
gavinking
3ab747517d Use OID instead of BYTEA for @Lob mappings on PostgreSQL 2020-01-30 14:01:34 -06:00
gavinking
c8f477c962 A couple of default properties went missing from the dialects 2020-01-30 14:01:34 -06:00
gavinking
4f5b37c9c4 Use SequenceSupport everywhere instead of deprecated methods of Dialect 2020-01-30 14:01:34 -06:00
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
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
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
Andrea Boriero
98414b1a92 Fix compilation error after merge 2020-01-22 19:35:14 +00:00
Andrea Boriero
fd6866f029 Merge remote-tracking branch 'upstream/master' into wip/6.0_merge_22 2020-01-22 19:34:38 +00:00
Andrea Boriero
e889c76e49 Merge remote-tracking branch 'upstream/master' into wip/6.0_merge_21 2020-01-22 18:14:10 +00:00
Antoine Reilles
4318349b4d Fix String format in log
Use %s in the log string format, to avoid java.util.UnknownFormatConversionException: Conversion = ']' when enabling debug logs.
2020-01-22 10:54:19 +00:00
Christian Beikov
a2f7f59de4 HHH-13752 - Workaround id class issues like suggested by @jwgmeligmeyling 2020-01-21 15:24:43 +00:00
Christian Beikov
8f563fbd31 HHH-13752 - Test and fix deletion of entities with many-to-many assocations using non-primary keys for join table 2020-01-21 15:24:43 +00:00
gavinking
fa952863cf HHH-13823 Make it possible to reuse MergeContext in Hibernate RX.
Exposes the operations used by DefaultMergeEventListener
2020-01-21 13:00:26 +00:00
gavinking
e5f8341aa4 HHH-13823 Add setters for two of the properties of EntityIdentityInsertAction
This is needed by hibernate-rx.
2020-01-21 13:00:23 +00:00
gavinking
a0f9b1df00 HHH-13823 Make three private methods of SessionImpl visible to subclasses 2020-01-21 13:00:20 +00:00
gavinking
a2f21e12a4 HHH-13823 Expose members of some SQL construction classes to subclasses
Allows hibernate-rx to more easily customize bind variable syntax.
2020-01-21 13:00:17 +00:00
gavinking
12a8508e66 HHH-13823 Introduce an indirection when instantiating Insert/Update/Delete
This allows hibernate-rx to intervene in the rendering of bind variables
and use $n instead of ?
2020-01-21 13:00:15 +00:00
gavinking
96faae93b1 HHH-13823 Always generate lowercase column aliases
This change is needed by hibernate-rx as a workaround for behavior
of the Postgres client. But anyway I think it's cleaner.
2020-01-21 13:00:12 +00:00
gavinking
f59f0ce406 HHH-13823 Changes for Hibernate RX
Mostly just expose some operations and constructors that were previously inaccessible.
2020-01-21 13:00:02 +00:00
Sanne Grinovero
da019405b6 HHH-13821 Update to Byte Buddy 1.10.7 2020-01-21 12:22:46 +00:00
Sanne Grinovero
33fa24d935 HHH-13822 OSGi integration tests need to be able to download dependencies from Maven Central using HTTPS 2020-01-21 12:22:46 +00:00
marekchodak
bf473681e4 HHH-13780 Allow NamedQuery to set hint QueryHints.PASS_DISTINCT_THROUGH 2020-01-21 10:09:17 +00:00