Commit Graph

5849 Commits

Author SHA1 Message Date
Nathan Xu 19e35b86cc HHH-13809 Various improvements in the user guidesw 2020-01-31 09:30:28 +00:00
Sanne Grinovero cc7c7d7ee3 HHH-13837 Initialize the Hibernate VERSION as a real constant 2020-01-30 22:05:36 +00:00
Sanne Grinovero 5f302c57a7 HHH-13831 Avoid log level check within complex loops 2020-01-30 22:05:36 +00: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
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
Nathan Xu 7beb96a2ab HHH-13373 add a testing case annotated with '@FailureExpected' annotation 2020-01-23 11:06:34 +00:00
Nathan Xu 8fb35947ff HHH-13373 fix the bug that 'different sequence names in differnt dbs' breaks SequenceInformationExtractorMariaDBDatabaseImpl 2020-01-23 11:06:34 +00: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
Steve Ebersole 3e89772bb8 HHH-13785 : HQL/Criteria function support
- preliminary work on updated tree handling.  See SqmFunctionDescriptor, SqmFunctionRegistry and SqmFunction
2019-12-20 17:44:18 -06:00
Steve Ebersole 99d4201730 Consolidated Antlr grammars into dedicated package 2019-12-16 15:17:30 -06:00
Steve Ebersole 0ec232a326 HHH-13778: `@OrderBy` handling using SQL AST
- complete support other than function support which is still overall not implemented
2019-12-16 15:02:19 -06:00
Andrea Boriero 1d4bb08ef7 Merge remote-tracking branch 'upstream/master' into wip/6.0_merge_16 2019-12-16 12:43:47 +00:00
Andrea Boriero d5715e3fbc Refactoring, removed InFlightEntityMappingType#finishMappingModelInitialization method 2019-12-16 11:15:26 +00:00
Davide D'Alto 6cf7fdaa97 HHH-13759 Small refactoring for PersistentAttributeTransformer
This change makes it easier to identify where we behave differently
  because we are dealing with a class annotated with @MappedSuperclasss.
2019-12-13 14:56:51 +00:00
Davide D'Alto 57a45dab19 HHH-13579 Add comment to InlineDirtyChekingHandler 2019-12-13 14:56:51 +00:00
Davide D'Alto 0251473c87 HHH-13759 Additional test cases 2019-12-13 14:56:51 +00:00
Andrea Boriero 0dea8319d4 HHH-13759 - Support for private Embedded in MappedSuperclass 2019-12-13 14:56:51 +00:00
Davide D'Alto c4dc9b0d25 HHH-13704 Make javassist a compile time dependency again
This commit revert some of the changes so that we can release it in a micro
  without breaking application using Javassist.

  In the next minor it should be reverted.
2019-12-13 11:29:40 +00:00
Steve Ebersole 287808a914 HHH-13778: `@OrderBy` handling using SQL AST
- fixed test
2019-12-12 18:24:36 -06:00
Steve Ebersole b87bbb4720 HHH-13778: `@OrderBy` handling using SQL AST
- checkstyle
2019-12-12 13:38:28 -06:00
Steve Ebersole 284b2c5677 HHH-13778: `@OrderBy` handling using SQL AST
- parsing in PluralAttributeMapping implemented
- still need to convert the OrderByFragment to SQL AST and add to the SQL AST order-by-clause
2019-12-12 13:34:37 -06:00
Steve Ebersole 8600058784 HHH-13778: `@OrderBy` handling using SQL AST
- initial work - Antlr grammar, parse tree visitation and building OrderByFragment (translation) tree
- fixed bug in HQL parsing - was building an unnecessary HqlLexer instance
2019-12-12 11:58:37 -06:00
Davide D'Alto b8ffe851a7 HHH-13704 Format imports in EnhancerFileNotFoundTest 2019-12-12 13:50:01 +00:00
Davide D'Alto c3ccc65275 HHH-13704 Test Javassist is not on the classpath 2019-12-12 13:50:01 +00:00
Davide D'Alto 76d2672122 HHH-13704 Make Javassist an optional dependency
* Change the gradle scope to `provide`
  * Add the dependency to the OSGi test bundle

HHH-13704 Add Javassist to the dependencies for the OSGi test
2019-12-12 10:33:32 +00:00
Davide D'Alto 39071a4d39 HHH-13704 Move EnhancerFileNotFoundTest
Tests requiring Javassist are now in a dedicated folder.
2019-12-12 10:33:32 +00:00
Davide D'Alto 2e5892236b HHH-13704 Remove Javassist from ClassFileArchiveEntryHandler
Use Jandex instead.
2019-12-12 10:33:32 +00:00
Davide D'Alto bac88eda53 HHH-13704 Typo: tupizer -> tuplizer 2019-12-12 10:33:32 +00:00
Steve Ebersole 8c671d98d0 minor 2019-12-11 19:43:37 -06:00
Nathan Xu 3a69b74894 HHH-13456 refactor ForeignGenerator to allow for the possibility of StatelessSession 2019-12-11 17:37:31 -06:00
Nathan Xu 8ce1404754 HHH-13644 fix the NPE by override ProcedureCallImpl's 'getResultStream()' method. 2019-12-11 17:23:22 -06:00
Steve Ebersole 28c0b05d0f `org.hibernate.metamodel.RuntimeMetamodels` 2019-12-11 15:03:32 -06:00
Andrea Boriero 1580613f8a HHH-13777 UnsupportedOperationException is thrown for MappedSuperclass if the id is declared on subclasses 2019-12-11 13:36:24 +00:00
Andrea Boriero 3eed218135 HHH-13769: Avoid unnecessary joins test 2019-12-11 09:43:16 +00:00
Andrea Boriero 31913eaeea Add tests for AttributeOverride 2019-12-11 09:43:16 +00:00
Steve Ebersole 996157fca1 HHH-13769: Avoid unnecessary joins
better support for lazy TableReference handling for collections;
removed TableReferenceCollector and TableReferenceContributor
2019-12-10 14:43:24 -06:00
Steve Ebersole dcbef8705c HHH-13769: Avoid unnecessary joins
better support for lazy TableReference handling for collections
2019-12-10 14:17:39 -06:00
Andrea Boriero becbaea172 Fix Could not resolve binding for Foreign Key for TableReference name with schema 2019-12-10 12:07:25 +00:00
Andrea Boriero 1363844ca0 Implement support for @Embeddable with ToMany and ToOne 2019-12-10 10:00:10 +00:00
Steve Ebersole 3be2369110 HHH-13769: Avoid unnecessary joins 2019-12-09 17:35:56 -06:00
Andrea Boriero 79c83cf8ba Merge remote-tracking branch 'upstream/master' into wip/6.0 2019-12-09 12:07:23 +00:00
Steve Ebersole 033eea4258 minor change
- initialize `#valueMapping` field during `org.hibernate.metamodel.mapping.EmbeddableMappingType` ctor by passing along the creator-function, allowing `#valueMapping` to become physically final (was always logically final).
2019-12-07 08:38:40 -06:00
Jan-Willem Gmelig Meyling a6b924ffe7 HHH-9301 Fix test under PostgreSQL 2019-12-05 14:00:01 +00:00
Andrea Boriero 963a516ea8 Revert "HHH-13752 - Test and fix deletion of entities with many-to-many assocations using non-primary keys for join table"
This reverts commit 58dd469e4c.
2019-12-05 12:34:27 +00:00
Andrea Boriero e924d55fdf Revert "HHH-13752 - Deletion of entities with many-to-many assocations using non-primary keys for join table"
This reverts commit 11455f3467.
2019-12-05 12:34:10 +00:00
Gail Badner 99868fb5f9 HHH-13355 : StaleStateException for updates to optional secondary table using saveOrUpdate 2019-12-05 12:05:24 +00:00
Gail Badner 69dad5fda5 HHH-13355 : test case 2019-12-05 12:05:24 +00:00
Gail Badner 6ce7831f77 HHH-13365 : Entities in joined subclass table are not inserted with batch size > 0 using sequence-identity ID generator 2019-12-05 11:36:04 +00:00
Gail Badner 7d11649d99 HHH-13365 : Added test case 2019-12-05 11:36:04 +00:00
Andrea Boriero 11455f3467 HHH-13752 - Deletion of entities with many-to-many assocations using non-primary keys for join table 2019-12-05 10:18:23 +00:00
Christian Beikov 58dd469e4c HHH-13752 - Test and fix deletion of entities with many-to-many assocations using non-primary keys for join table 2019-12-05 10:05:16 +00:00
Andrea Boriero a133aff97f HHH-13608 Fix failing tests 2019-12-05 09:25:32 +00:00
Jason Jijón 7daf67172a HHH-13758 - Limit Handler for SQL server doesn't work with CTE queries with strings literals 2019-12-04 19:38:56 +00:00
Sanne Grinovero 42752ec89d HHH-8901 Missing data cleanup in the new test 2019-12-04 17:44:02 +00:00
Sanne Grinovero 386d77129e HHH-13761 Debug logging of JPA compliance settings didn't log the value of the settings 2019-12-04 16:56:23 +00:00
Sanne Grinovero b9b15245b7 HHH-8901 Some very minor string handling optimisations 2019-12-04 16:37:34 +00:00
Nathan Xu ab9ae43185 HHH-8901 replace "in ()" SQL with "in (null)" in QueryParameterBindingsImpl 2019-12-04 16:05:10 +00:00
Davide D'Alto 4e449dfafa HHH-13764 Test behaviour doesn't change when @Embedded is on the getter 2019-12-03 20:40:53 +00:00
Davide D'Alto 4fb813f39c HHH-13764 Include getter annotations when required for the enhancements 2019-12-03 20:09:09 +00:00
Steve Ebersole d5125d8e31 HHH-13763 : Update all load-by-key handling to use SQL AST
minor fix-ups
2019-12-03 13:27:37 -06:00
Steve Ebersole e112d9631e HHH-13763 : Update all load-by-key handling to use SQL AST
SingleUniqueKeyEntityLoader
2019-12-03 13:12:57 -06:00
Steve Ebersole 0a41ac8466 HHH-13763 : Update all load-by-key handling to use SQL AST
* dropped `org.hibernate.loader.plan`
* dropped `org.hibernate.loader.custom` (*)
* dropped `org.hibernate.loader.collection`
* dropped `org.hibernate.loader.entity`
* dropped `org.hibernate.loader.hql`
* cleaned-up `org.hibernate.loader`
2019-12-03 11:31:45 -06:00
Davide D'Alto 98101bfc52 HHH-13759 Add AssertJ for testing Hibernate Core 2019-12-03 12:13:56 +00:00
Steve Ebersole 10cdb47a97 HHH-13763 : Update all load-by-key handling to use SQL AST
* Cleanup
* Prep for dropping LoadPlan
2019-12-02 15:05:26 -06:00
Steve Ebersole 264224a49e HHH-13763 : Update all load-by-key handling to use SQL AST
- Preliminary work on NaturalIdLoader
2019-12-02 13:49:27 -06:00
Steve Ebersole c96ad0dcea HHH-13763 : Update all load-by-key handling to use SQL AST
- Initial working support for the following load-by-key Loaders:

  * SingleIdEntityLoader
  * MultiIdEntityLoader
  * SingleKeyCollectionLoader
  * BatchKeyCollectionLoader
  * SubSelectFetchCollectionLoader
2019-12-02 13:49:27 -06:00
Andrea Boriero f836689be8 Fix merge errors 2019-12-02 10:22:56 +00:00
Andrea Boriero d2865a54df Merge remote-tracking branch 'upstream5/master' into wip/6.0_merge_15 2019-12-02 09:14:27 +00:00
Steve Ebersole 75d436ab25 HHH-13720: Implement mapping model support for plural attributes - sorted set;
HHH-13715: HQL/Criteria DELETE support - support for cleaning-up collection tables
2019-11-27 12:06:21 -06:00
Steve Ebersole 7b489b180c HH-13720: Implement mapping model support for plural attributes - sorted set 2019-11-27 07:23:28 -06:00
Andrea Boriero 6a403fa5d9 Fix delete of entity with plural attributes 2019-11-27 12:13:10 +00:00
Steve Ebersole afb9f9770d HHH-13746: Implement Load by Multiple Ids using SQL AST
composite id testing
2019-11-26 15:12:54 -06:00
Steve Ebersole c13bfdc338 initial working support for SQL-AST-based subselect-fetching 2019-11-26 14:54:36 -06:00
Steve Ebersole 0c6c8b4406 more work on multi-id entity loading and key-based loading in general 2019-11-25 15:58:50 -06:00
Vlad Mihalcea f08abf3628 HHH-13608 Oracle8iDialect should use CASE_INSENSITIVE pattern matching when checking the statement type 2019-11-25 15:41:33 +00:00
Jan-Willem Gmelig Meyling 21e79125e6 HHH-9301 - Support select variable refs in group by for DBMS dialects that support it
While not strictly compliant with the SQL specification, the MySQL, PostgreSQL and H2 support the use of select aliases in the GROUP BY clause. An obvious benefit is that produced SQL queries will be easier to read, because complex select expressions from aggregrate queries will have to be included in the group by clause as well. These can now simply reference the aliases of the respective columns for the tuple element. However, there is also a functional difference. For function invocations that have parameterized arguments, the query optimizer can't guarantee the that the function result between the selection projection and grouping process are equal. This results in an error because a value is projected which is not grouped by. An example where this for example becomes relevant, is when parameterizing TimeScaleDB's [`time_bucket_gapfill()`](https://docs.timescale.com/latest/api#time_bucket_gapfill-examples) function.

For example, using `time_bucket_gapfill()` one might want to produce a criteria query that produces the following SQL:

```sql
SELECT
    time_bucket_gapfill(?, time, ?, ?) AS ts,
    avg(tg) as tg
FROM iaqmeasurement
GROUP BY ts
ORDER BY ts;
```

When the alias is not used as grouping value, the query will yield an error:

```sql
SELECT
    time_bucket_gapfill(?, time, ?, ?) AS ts,
    avg(tg) as tg
FROM iaqmeasurement
GROUP BY time_bucket_gapfill(?, time, ?, ?)
ORDER BY ts;
```

Of course the parameter values can just be stored in a CTE as well, but I think we should consider support for variable refs in group by for DBMS dialects that support it. This pull request implements the feature equivalently to how its currently done for order by clauses, and only enables the feature for known supported dialects (H2, PostgreSQL and MySQL - based on [https://stackoverflow.com/a/3841804/2104280](https://stackoverflow.com/a/3841804/2104280)).

Jira: https://hibernate.atlassian.net/browse/HHH-9301

Co-authored-by: Sayra Ranjha <S.S.Ranjha@student.tudelft.nl>
2019-11-25 14:57:17 +00:00
Jan-Willem Gmelig Meyling bde7ca974b HHH-12895 - Extra LEFT JOIN generated with @ManyToOne and @JoinTable when projecting
on main entity id
2019-11-25 14:27:57 +00:00
Jan-Willem Gmelig Meyling 473566c50d HHH-13742 - Added additional tests 2019-11-25 12:15:21 +00:00
Steve Ebersole 0ec5af2985 HHH-13746 - Implement load-by-multiple-ids using SQL AST 2019-11-23 13:39:48 -06:00
Steve Ebersole 056469262d HHH-13081 - Pass BootstrapContext to Integrator#integrate;
HHH-11990 - Remove LogicalConnectionImplementor#makeShareableCopy

6.0 Alpha3 prep
2019-11-23 08:51:37 -06:00
Steve Ebersole 0d803cf25f HHH-13720 - Implement mapping model support for plural attributes
minor conflict
2019-11-23 03:31:16 -06:00
Steve Ebersole a6722fe57a HHH-13720 - Implement mapping model support for plural attributes
a lot is working.  annoying bug still that affects deleting "element collection" data
2019-11-23 03:25:14 -06:00
Andrea Boriero 8a196bc0e5 HHH-13725: Implement ToOne Associations support 2019-11-22 19:05:43 +00:00
Andrea Boriero f1bf079122 Merge remote-tracking branch 'upstream5/master' into wip/6.0_merge_14 2019-11-22 09:05:57 +00:00
Steve Ebersole 32fd79d214 HHH-13720 - Implement mapping model support for plural attributes
added some tests for maps
2019-11-21 23:58:30 -06:00
Steve Ebersole ecfb3da071 fixed concurrency problem uncovered during JMH-based throughput testing (Act 4 - which is really Act 2) 2019-11-21 22:04:22 -06:00
Steve Ebersole 2b65c73fb7 fixed concurrency problem uncovered during JMH-based throughput testing (Act 3) 2019-11-21 20:56:48 -06:00
Steve Ebersole 1b2aa85fa7 fixed concurrency problem uncovered during JMH-based throughput testing (Act 2) 2019-11-21 20:41:27 -06:00
Steve Ebersole db86a107f7 fixed concurrency problem uncovered during JMH-based throughput testing 2019-11-21 20:16:12 -06:00
Andrea Boriero 03c5bd406f work on aggregate composite identifier 2019-11-21 17:43:25 -06:00
Andrea Boriero 8e81f54a86 partially implemented QueryParamters#processFilters 2019-11-21 17:43:25 -06:00
Andrea Boriero 9a0ad0f21d work on aggregate composite identifier 2019-11-21 17:43:25 -06:00
Steve Ebersole 04c5160e02 pull over "legacy 6.0" tests 2019-11-21 15:29:13 -06:00
Steve Ebersole 7576b51407 pull over "legacy 6.0" tests 2019-11-21 14:48:38 -06:00
Jan-Willem Gmelig Meyling 325239353e HHH-13742 - Preliminary fix for HHH-13742 2019-11-21 16:28:49 +01:00
Jan-Willem Gmelig Meyling 8089d8c575 HHH-13742 - Missing from clause with joined inheritance property in association subquery 2019-11-21 15:30:41 +01:00
Andrea Boriero e4f70d508f HHH-13724 - Add more tests 2019-11-20 17:19:50 +00:00
Andrea Boriero a53772f6a0 HHH-13725 - Fix issue circular fetch detection 2019-11-20 10:38:24 -06:00
Andrea Boriero c8a1728bde HHH-13725 - Fix issue with DelayedEntityFetchImpl and FK not referring to PK 2019-11-20 10:38:24 -06:00
Andrea Boriero 343dd979ba HHH-13725 ToMany FkDescriptor creation and circular fetch detecion 2019-11-20 10:38:24 -06:00
Andrea Boriero aa3ff4507d HHH-13725 Work on circular fetch detection 2019-11-20 10:38:24 -06:00
Andrea Boriero 461e559184 HHH-13725 Add more tests 2019-11-20 10:38:24 -06:00
Andrea Boriero 4ca9617b6f HHH-13725 - Fix determining FK key name for OneToOne with PrimaryKeyJoinColumn 2019-11-20 10:38:24 -06:00
Andrea Boriero 4c614e0315 HHH-13725 Add more tests 2019-11-20 10:38:24 -06:00
Andrea Boriero 7db245230e HHH-13725 Fix join fetch with alias 2019-11-20 10:38:24 -06:00
Andrea Boriero 93c6c2e7e7 Add more tests 2019-11-20 10:38:24 -06:00
Andrea Boriero 97f9d4ce00 HHH-13725 Work on circular fetc detection 2019-11-20 10:38:24 -06:00
Steve Ebersole 032fdb5d2e HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries
CTE, id-table and in-line strategies are all implemented (though only id-table is tested);
  refactoring for performance (direct creation of SQL AST object directly, rather than SQM -> SQL AST) and as part of initial impls for remaining strategies (global temp and persistent id tables, and the "inline" strategy;
  fixed concurrency bug (thanks Luis!)
2019-11-20 10:36:24 -06:00
Steve Ebersole b04599cbe5 HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries
complete support for "local temp table"-based strategy
2019-11-18 12:20:48 -06:00
Andreas Knees be23e167af HHH-13722 Introducing a test case 2019-11-18 14:59:56 +00:00
Sanne Grinovero 7331a58d5e HHH-13722 ArrayStoreException in Constraint.generateName 2019-11-18 14:55:37 +00:00
Andrea Boriero 0dae701c93 HHH-13725 - Add more tests 2019-11-15 12:13:40 -06:00
Andrea Boriero ed49f6abcf HHH-13725 - Implement ManyToOne with Join Table associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 36bf9f9dfe changed order of AbstractEntityPersister#attributeMappings 2019-11-15 12:13:40 -06:00
Andrea Boriero b986ef1ea8 HHH-13725 - Implement ManyToOne associations 2019-11-15 12:13:40 -06:00
Andrea Boriero 0094236d98 HHH-13725 - Implement ManyToOne associations support done some code refactoring 2019-11-15 12:13:40 -06:00
Andrea Boriero d2851888f9 HHH-13725 - Implement ManyToOne associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 86dee1f66c HHH-13725 - Implement ManyToOne associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero bfb640196d HHH-13725 - Implement ToOne Associations support - add @FailureExpected to EntityWithManyToOneJoinTableTest 2019-11-15 12:13:40 -06:00
Andrea Boriero dd772ab2a0 HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 09d1dd3daf HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero a99881a103 HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero ef5db4aa3b HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Andrea Boriero 403bf9257c HHH-13725 - Implement ToOne Associations support 2019-11-15 12:13:40 -06:00
Gail Badner 76308e8a3e HHH-13737 : Correct log message and fix checkstyle failure 2019-11-14 18:22:01 -08:00
Gail Badner 7d8549d8aa HHH-13737 : Add debug logging 2019-11-14 18:22:01 -08:00
Gail Badner c02011ef40 HHH-13737 : Add test case for HHH-13433 2019-11-14 18:22:01 -08:00
Andrea Boriero 841368175f HHH-13614 Allow the IntegratorProvider to be supplied via its FQN in the JPA persistence.xml 2019-11-14 13:35:09 +00:00
Vlad Mihalcea 52f9a36a6d HHH-13614 Allow the IntegratorProvider to be supplied via its FQN in the JPA persistence.xml 2019-11-14 13:35:09 +00:00
Andrea Boriero f5fb84cfe2 HHH-13705 Enhancement as Proxy with inline dirty checking - flush of an @ManyToOne with an Embedded value having not null properties causes PropertyValueException 2019-11-14 11:31:11 +00:00
Andrea Boriero 842a155615 HHH-13705 Add test for issue
HHH-13705 Add test for issue
2019-11-14 11:31:11 +00:00
Christian Beikov 47c8a89390 HHH-13712 - Test and fix for missing superclass table joins when joining superclass associations 2019-11-14 11:29:01 +00:00
Andrea Boriero 9ddab37748 HHH-13727 H2 database with DATABASE_TO_UPPER=false throws org.h2.jdbc.JdbcSQLSyntaxErrorException: Table sequences not found 2019-11-13 13:57:48 +00:00
Steve Ebersole 83a1eb5715 HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
basic working support for simple (non-multi-table) SQM UPDATE statements
2019-11-12 18:02:21 -06:00
Steve Ebersole eddd5b938b HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries
work on generalized CTE handling;
initial work on SQM CTE support
2019-11-12 14:19:23 -06:00
Christian Beikov 0c0248d448 Include the WITH clause AST in the FromElement so that column references can be analyzed 2019-11-12 17:47:48 +00:00
Jan-Willem Gmelig Meyling 05e6a41e5f HHH-13670 - Reproducer Missing from clause in query with joined inheritance, regression in 5.4.5 2019-11-12 17:47:48 +00:00
Sanne Grinovero 164e1fc7cc HHH-13687 TenantSchemaResolver not called in integration test after upgrade from 2019-11-12 17:40:59 +00:00
Steve Ebersole dd364ccf5f HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
fixed problem with local temp table support - it works!
2019-11-12 11:34:50 -06:00
Steve Ebersole a654c95c8d HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
fixed problem with local temp table support - it works!
2019-11-12 11:30:41 -06:00
Steve Ebersole 2ca1bf876b HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
work on CTE-base multi-table handling
2019-11-11 18:11:42 -06:00
Steve Ebersole eadd9ae4bb HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
work on CTE-base multi-table handling
2019-11-11 17:50:29 -06:00
Steve Ebersole d38c163f3a HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
work on CTE-base multi-table handling
2019-11-11 17:35:46 -06:00
Steve Ebersole 169646875b HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
work on CTE-base multi-table handling
2019-11-11 17:25:27 -06:00
Steve Ebersole 82b8e77184 HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
tests for joined-subclass
2019-11-11 16:46:27 -06:00
Steve Ebersole ba5ef1b149 HHH-13715 - working support for "multi-table" HQL/Criteria UPDATE and DELETE queries;
local-temp-table support works tested on H2.  I believe cte support works as well - need to set up and environment with a database supporting it.

There is a problem saving entities with secondary tables atm so for now i cannot create the data to assert that the correct rows were deleted.  But looking at the executed SQL it works
2019-11-11 16:09:55 -06:00
Andrea Boriero 186f4b37c0 Joined inheritance work - implemented explicit Discriminator 2019-11-11 13:38:41 +00:00
Andrea Boriero 895cc3f529 Joined inheritance work - fixed issue 2019-11-11 12:20:23 +00:00
Sanne Grinovero 66515a2e4e HHH-13723 Hint sizing of ArrayList in ResultSetProcessingContextImpl 2019-11-11 10:59:14 +00:00
Andrea Boriero e0dd8321f3 fix up 2019-11-09 11:00:39 +00:00
Andrea Boriero dbd1079828 Joined inheritance work - Removed CasePredicate 2019-11-09 10:57:32 +00:00
Andrea Boriero fccaca8391 Joined inheritance work - Removed columnExpression field from CaseSearchedExpression 2019-11-09 10:45:42 +00:00
Steve Ebersole 59e4552195 Working support for simple restricted HQL DELETE -> execution!! 2019-11-08 18:35:42 -06:00
Steve Ebersole e6895c3d91 Working support for simple HQL DELETE -> execution!! 2019-11-08 16:26:10 -06:00
Steve Ebersole 30ad3eabe5 Working support for simple HQL DELETE -> SqmDeleteStatement translation 2019-11-08 16:00:05 -06:00