Commit Graph

5596 Commits

Author SHA1 Message Date
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
marekchodak bf473681e4 HHH-13780 Allow NamedQuery to set hint QueryHints.PASS_DISTINCT_THROUGH 2020-01-21 10:09:17 +00:00
Gail Badner 63a96e335e HHH-13814 : Add tests 2020-01-15 15:41:48 -08:00
Andrea Boriero 9643537262 Fix Polymorphic collection issue, remove unused code 2020-01-14 13:25:25 +00:00
Steve Ebersole b23e5ba54a support for canonical reference to id and version. consider other entity parts - natural-id, tenant-discriminator, etc 2020-01-14 07:24:44 -06:00
Andrea Boriero c2bb7d65f2 Fix Polymorphic collection issue 2020-01-14 08:14:49 +00:00
Steve Ebersole 0d024ffd59 - Fix error when null is value is bind to a query parameter
- fixed problem with id attributes not named `id`
2020-01-13 10:38:35 -06:00
Sanne Grinovero 19b7921d1d HHH-13806 CoreMessageLogger#unableToLoadCommand is not printing the cause of the error 2020-01-10 09:44:20 +00:00
Steve Ebersole a9ee082128 initial work on non-aggregated composite-id support 2020-01-07 15:34:29 -06:00
Nathan Xu 0b938bd16b HHH-13800 fix typo in AbstractGraphNode's verifyMutability() method 2020-01-06 16:38:35 -05:00
Nathan Xu 207c0d68be HHH-13800 add a new found typo in org.hibernate.graph package's package-info.java 2020-01-06 16:01:13 -05:00
Nathan Xu 674b1dfd27 HHH-13800 Fix typos in Javadoc 2020-01-06 16:00:03 -05:00
Nathan Xu 00e9db2b8b HHH-11958 Make EntityManager.find() support QueryHints.HINT_READONLY 2020-01-06 08:59:35 -06:00
Steve Ebersole eab6107ec2 HHH-13785 : HQL/Criteria function support
- temporal literals
- generalized literals
- literal formatters (SQL string generation)
- FORMAT function
2020-01-06 08:38:08 -06:00
Nathan Xu 49fe4f6494 HHH-13726 Extract 'prepareEventListeners' method out of SessionFactoryImpl 2020-01-06 07:30:19 -06:00
Nathan Xu bd472581a4 HHH-13802 add support of the various new tags so their warning won't show up 2020-01-06 07:14:17 -06:00
Nathan Xu 2663f8718e HHH-13802 revert back @todo 2020-01-06 07:09:05 -06:00
Nathan Xu 3df0fcefa4 HHH-13802 fix javadoc warnings 2020-01-06 07:09:05 -06:00
Steve Ebersole 6e0d15b134 HHH-13785 : HQL/Criteria function support
- EXTRACT function
- LOCAL_DATETIME function
- LOCAL_DATE function
- LOCAL_TIME function
2019-12-26 11:19:25 -06:00
Steve Ebersole 77377337d6 HHH-13785 : HQL/Criteria function support
- checkstyle
2019-12-22 07:33:28 -06:00
Steve Ebersole a39fa09650 HHH-13785 : HQL/Criteria function support
- tests
- Dialect changes
2019-12-21 19:38:22 -06:00