Commit Graph

10154 Commits

Author SHA1 Message Date
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
Davide D'Alto 98101bfc52 HHH-13759 Add AssertJ for testing Hibernate Core 2019-12-03 12:13:56 +00:00
Davide D'Alto 46170d9ffe HHH-13759 Add AssertJ in the list of libraries available
It's useful to test the bytecode enhancements and has a nicer
  fluent API.
2019-12-03 11:48:33 +00:00
Simeon 6acfd17548 HHH-13762 Update vibur-dbcp dependency to 25.0 2019-12-02 12:07:49 +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
Sanne Grinovero c9a373c180 HHH-13739 Upgrade to Agroal 1.7 2019-11-18 15:21:23 +00: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 7a74e4dd8f 5.4.9 2019-11-14 17:18:14 +00:00
Andrea Boriero 5fb866403e 5.4.9 2019-11-14 15:42:14 +00:00
Chris Cranford 0e329bef5a HHH-12030 - Fix ClassCastException when Embeddable collection uses generic types 2019-11-14 13:56:56 +00: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
Sanne Grinovero f7c8ba8532 HHH-13733 Upgrade to Jandex 2.1.1.Final 2019-11-14 10:25:25 +00:00
Sanne Grinovero fcb8fdde3e HHH-13731 Upgrade to Classmate 1.5.1 2019-11-14 10:10:48 +00:00
Sanne Grinovero 19692c1301 HHH-13730 Upgrade to Classmate 1.4.0 2019-11-14 09:13:20 +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
Andrea Boriero 87441781c6 upgrade gradle-bintray-plugin to 1.8.4 2019-11-08 17:05:09 +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
Marco Behler 6dc5f37827 Link to Marco Behler's guide to "data access in Java" from the Getting Started Guide preface 2019-11-05 14:21:32 -06: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
Andrea Boriero b9924d1805 5.4.8 2019-10-28 19:17:14 +00:00
Andrea Boriero a50f2da6aa 5.4.8 2019-10-28 19:15:43 +00:00
Chris Cranford 72b81eebfe HHH-12965 Avoid creating foreign keys between audit and main tables
* Added test case
2019-10-28 14:21:56 +00:00