5231 Commits

Author SHA1 Message Date
Davide D'Alto
4fb813f39c HHH-13764 Include getter annotations when required for the enhancements 2019-12-03 20:09:09 +00:00
Davide D'Alto
98101bfc52 HHH-13759 Add AssertJ for testing Hibernate Core 2019-12-03 12:13:56 +00: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
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
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
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
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
Sanne Grinovero
66515a2e4e HHH-13723 Hint sizing of ArrayList in ResultSetProcessingContextImpl 2019-11-11 10:59:14 +00:00
Scott Marlow
a682a7d19c HHH-13433 EntityManager.find() should only check for roll-back-only condition if there is an active JTA transaction, otherwise ORM should throw throw convert( e, lockOptions ) 2019-11-07 20:33:25 -08:00
Gail Badner
0c1df5fc0d HHH-13698 : Hibernate does not recognize MySQL 8 error code 3572 as PessimisticLockException 2019-11-01 10:58:46 -07:00
Gail Badner
a7f017c3dc HHH-13307 : On release of batch it still contained JDBC statements using JTA 2019-11-01 10:58:13 -07:00
Gail Badner
1241d35a50 HHH-13307 : Added test 2019-11-01 10:58:13 -07:00
Sanne Grinovero
cec7329214 HHH-13700 Configuration property CONNECTION_PROVIDER_DISABLES_AUTOCOMMIT should not be passed to the JDBC connection properties 2019-10-31 23:43:38 +00:00
Sanne Grinovero
2bcb1b0a6d HHH-13654 Reorganize fields and add some comments about this work 2019-10-30 12:27:59 +00:00
Sanne Grinovero
f89bf35106 HHH-13654 Make AbstractFlushingEventListener#entitiesByKey also lazily initialized 2019-10-30 12:27:59 +00:00
Sanne Grinovero
6034ece731 HHH-13654 Refactor references to StatefulPersistenceContext#batchFetchQueue 2019-10-30 12:27:55 +00:00
Sanne Grinovero
500819e169 HHH-13654 Defer initialization of StatefulPersistenceContext#entitySnapshotsByKey 2019-10-30 12:27:53 +00:00
Sanne Grinovero
f4bf11331b HHH-13654 Defer initialization of StatefulPersistenceContext#collectionsByKey 2019-10-30 12:27:48 +00:00
barreiro
1dd787eaa1 HHH-13446 - Validate mapped-by values got from annotations in bytecode enhancers 2019-10-26 17:53:56 +01:00
Sanne Grinovero
b4a8052a15 HHH-13695 DDL export forgets to close a Statement 2019-10-25 16:47:52 +01:00
Sanne Grinovero
e5539cc36c HHH-13651 Adding a regression test for the issue 2019-10-24 11:25:17 +01:00
Yosef Yona
a5c8a812f5 HHH-13651 Applying hibernate codestyle to PersistentBag 2019-10-24 09:27:23 +01:00
Yosef Yona
2808a75d5c HHH-13651 NPE on flushing when ElementCollection field contains null element 2019-10-24 09:26:51 +01:00
Andrea Boriero
96e7abf80b HHH-13672 The temporary PersistenceContext of a StatelessSession is not cleared after a refresh operation 2019-10-21 12:08:58 +01:00
Andrea Boriero
43402ea51c HHH-13672 Add test for issue 2019-10-21 12:08:58 +01:00
Yoann Rodière
cacef1f466 HHH-13680 Upgrade to Byte-buddy 1.10.2 2019-10-21 12:59:29 +02:00
Andrea Boriero
f39d96f9fa HHH-13673 Cryptic error when providing import.sql file without a terminal char at the end of each line 2019-10-21 10:17:03 +01:00
Andrea Boriero
8f68a3573e HHH-13673 Add test for issue 2019-10-21 10:17:03 +01:00
Christoph Dreis
3b1e7afb20 HHH-13675 : Optimize PersistentBag.groupByEqualityHash() 2019-10-18 13:28:00 +01:00
Andrea Boriero
1c840f9dd1 HHH-12858 HHH-13432 fix Oracle failing tests 2019-10-18 13:15:48 +01:00
Gail Badner
93a07453f0 HHH-13634 : Fix test case queries to order results 2019-10-17 12:04:19 -07:00
Gail Badner
42de569a37 HHH-13634 : PersistenceContext can get cleared before load completes using StatelessSessionImpl 2019-10-17 09:46:58 -07:00
Gail Badner
eccb786ba4 HHH-13634 : Test cases 2019-10-17 09:46:58 -07:00
Yoann Rodière
6cdb0256d4 HHH-13666 Test custom BeforeTransactionCompletionProcess/AfterTransactionCompletionProcess 2019-10-17 15:54:16 +02:00
Yoann Rodière
5c8169ba7c HHH-13666 Re-use the wrapped exception's message upon beforeTransactionCompletion/afterTransactionCompletion failure
For convenience.
2019-10-17 15:54:16 +02:00