Commit Graph

265 Commits

Author SHA1 Message Date
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
Sanne Grinovero 164e1fc7cc HHH-13687 TenantSchemaResolver not called in integration test after upgrade from 2019-11-12 17:40:59 +00:00
Steve Ebersole b350599442 HHH-12858 - integration overrides during JPA bootstrap ought to override all logically related settings
- e.g. a datasource passed in the integration overrides map ought to effectively override JDBC-connection settings in `persistence.xml` (and vice-versa)

HHH-13432 - Have EntityManagerFactory expose persistence.xml `jta-data-source` element as a `javax.persistence.nonJtaDataSource` property
2019-10-03 16:03:43 +01:00
Steve Ebersole 57fba402b4 HHH-12858 - Persistence.createEntityManagerFactory(Map) should allow overwriting jta-data-source of persistence.xml 2019-09-25 15:12:25 -05:00
Sanne Grinovero 4661efa468 HHH-13591 Fixing formatting of previous patch 2019-08-20 08:44:51 +01:00
Carsten Hammer 19ac013eeb HHH-13591 Replaces simple uses of array iteration with a corresponding for-each loop 2019-08-20 08:44:39 +01:00
Andrea Boriero 210aff098c HHH-13577 LockTest.testContendedPessimisticLock and StatementIsClosedAfterALockExceptionTest.testStatementIsClosed tests fail on Sybase
HHH-13577 : Re-enable LockTest for SybaseASE15Dialect
2019-08-14 18:43:09 -07:00
Steve Ebersole cc01f2561d HHH-11147 - Allow enhanced entities to be returned in a completely uninitialized state
HHH-11161 - do not force initialize collection at all
2019-06-13 12:52:38 -05:00
Chris Cranford 27ddc8e834 HHH-13206 - Fix custom runner properly determine dialect feature checks. 2019-01-15 18:18:31 -05:00
Vlad Mihalcea 29e135c015 HHH-13104 - Oracle 12c / SAP Hana insert fails when entity contains only an identity-based column.
Exclude tests failing for SAP HANA and add the supportNoColumnInsert method in Dialect to be used by the Insert class
2019-01-10 15:09:50 -05:00
Guillaume Smet 2a8582be7f HHH-13138 Set the TCCL in BytecodeEnhancerRunner
We are not consistently using the ClassLoaderService and we sometimes
use the TCCL so better set it correctly.
2019-01-03 21:34:46 +01:00
Guillaume Smet 855f34c771 HHH-12555 Add a DialectCheck for NClob support 2018-12-17 13:53:54 +01:00
Vlad Mihalcea d986ae92d0 HHH-13144 - Move the doInAutoCommit utility to TranscationUtil 2018-12-06 09:22:29 +02:00
Sanne Grinovero aae9cd14a5 HHH-13047 Deprecate Environment#verifyProperties 2018-10-18 11:48:48 +01:00
Vlad Mihalcea cf3622f64c HHH-12771 - Caused by: java.lang.UnsupportedOperationException: Cache provider [org.hibernate.cache.ehcache.internal.EhcacheRegionFactory@3271ec2a] does not support `transactional` access 2018-07-13 09:40:48 +03:00
Vlad Mihalcea 414a0dd75d HHH-12787 - SessionJdbcBatchTest hangs with DB2 2018-07-12 13:39:10 +03:00
Vlad Mihalcea 387bbc51c1 HHH-12749 - Avoid setting the isolation level to the same value in C3P0ConnectionProvider
Fix checkstyle issues
2018-07-02 14:15:50 +03:00
Vlad Mihalcea 6f336b850c HHH-12749 - Avoid setting the isolation level to the same value in C3P0ConnectionProvider 2018-07-02 13:36:23 +03:00
Vlad Mihalcea bcb71fcdd6 HHH-12688 - Duplicated Error Information Displayed in the Log 2018-06-26 11:12:29 +03:00
Vlad Mihalcea 8bbd22967e HHH-12710 - BaseCoreFunctionalTestCase opens an InputStream for mapping files but never closes it 2018-06-20 17:47:47 +03:00
Vlad Mihalcea 5cfb0a508c HHH-12559 - Add support for MySQL 8 SKIP LOCKED and NOWAIT 2018-05-22 12:30:59 +03:00
Steve Ebersole 9f293b113b HHH-12519 - Use Forbidden APIs library (Gradle plugin) to check our use of APIs
- fixing failures in non-core projects
2018-05-12 21:22:42 -05:00
Andrea Boriero 6cefa865b0 HHH-12454 - Offer flag to consider id generator with local scope (legacy non JPA behavior) 2018-04-16 09:47:09 -05:00
Bruno P. Kinoshita ed575e44a9 HHH-12346: Replace StringHelper#join by Java's String#join 2018-03-28 21:14:09 -05:00
Andrea Boriero 0d82dc7c83 HHH-12444 - Introduce BootstrapContext
HHH-12443 - Introduce TypeConfiguration
2018-03-28 17:43:48 -05:00
Andrea Boriero 11462e7860 HHH-12444 - Introduce BootstrapContext
HHH-12443 - Introduce TypeConfiguration
2018-03-28 17:43:48 -05:00
Andrea Boriero 9229514ed4 HHH-12444 - Introduce BootstrapContext
HHH-12443 - Introduce TypeConfiguration
2018-03-28 17:43:48 -05:00
Andrea Boriero 8f889e95d7 HHH-12444 - Introduce BootstrapContext
HHH-12443 - Introduce TypeConfiguration
2018-03-28 17:43:48 -05:00
Steve Ebersole b8674563d2 HHH-11356 - Adjust the 2nd-Cache SPIs to better reflect supported uses
- Fix-ups from Radim's review
- Better Javadoc
2018-03-27 15:38:24 -05:00
Vlad Mihalcea 94e8ba7ba5 HHH-11806 - Add support for MariaDB 10.3
HHH-11769 - New MariaDB Dialect for MariaDB >= v10.1

Add support for IF EXISTS in constraint clauses
2018-03-27 18:14:43 +03:00
Steve Ebersole 1ae38f27a7 HHH-11356 - Adjust the 2nd-Cache SPIs to better reflect supported uses
HHH-12323 - Update Statistics API and SPI based on changes to 2nd level caching changes
HHH-12416 - set up relocation for hibernate-ehcache
HHH-12417 - default strategy based on registrations with StrategySelector

test failure
2018-03-22 23:25:08 -05:00
Steve Ebersole 7f12e2a161 HHH-11356 - Adjust the 2nd-Cache SPIs to better reflect supported uses
HHH-12323 - Update Statistics API and SPI based on changes to 2nd level caching changes
HHH-12416 - set up relocation for hibernate-ehcache
HHH-12417 - default strategy based on registrations with StrategySelector

Basically reverted HHH-12416 and added basic support for Ehcache 2 again
2018-03-22 22:51:07 -05:00
Steve Ebersole 1174cdad65 HHH-12417 - default strategy based on registrations with StrategySelector
ConnectionProviderInitiator and tests
2018-03-22 13:25:12 -05:00
Steve Ebersole eea22fad17 HHH-11356 - Adjust the 2nd-Cache SPIs to better reflect supported uses
HHH-12323 - Update Statistics API and SPI based on changes to 2nd level caching changes

- initial work on migrating hibernate-jcache to new SPIs including a more template-style approach to writing a RegionFactory (o.h.cache.spi.support)
2018-03-22 13:25:12 -05:00
Steve Ebersole 638ebf01df HHH-11356 - Adjust the 2nd-Cache SPIs to better reflect supported uses
HHH-12323 - Update Statistics API and SPI based on changes to 2nd level caching changes

- initial work on migrating hibernate-jcache to new SPIs including a more template-style approach to writing a RegionFactory (o.h.cache.spi.support)
2018-03-22 13:25:12 -05:00
Steve Ebersole f432ecea68 HHH-11356 - Adjust the 2nd-Cache SPIs to better reflect supported uses
HHH-12323 - Update Statistics API and SPI based on changes to 2nd level caching changes
2018-03-22 13:25:12 -05:00
Andrea Boriero 7a47be8d9b Revert "HHH-12391 - attempt to create test reproducing error; no luck"
This reverts commit 6e82e4fd53.
2018-03-16 15:57:07 +00:00
Steve Ebersole 6e82e4fd53 HHH-12391 - attempt to create test reproducing error; no luck 2018-03-15 14:09:56 -05:00
Chris Cranford 676784d281 HHH-8382 - Fix ordering of lob columns when using HBM mappings. 2018-03-06 13:22:15 -05:00
Chris Cranford a0b94f057a HHH-8382 - Added test case. 2018-03-06 13:22:15 -05:00
Sanne Grinovero 0e597a03b5 HHH-11253 Revert dependency change on Javassist: still needed 2018-03-02 16:46:41 +00:00
Sanne Grinovero 0f5c3a0abc HHH-11253 Make Byte Buddy BytecodeProvider impl the default 2018-03-02 12:19:18 +00:00
Sanne Grinovero 4e484af398 HHH-12336 Avoid unnecessary invocations of fillInStackTrace() in the tests 2018-03-01 17:58:30 +00:00
Andrea Boriero 84c50855ef HHH-12271 - Add test for issue 2018-02-05 17:34:39 +00:00
Steve Ebersole d806eff912 HHH-12190 - General tidying of Gradle scripts 2018-01-16 14:34:43 -06:00
Steve Ebersole 300fa80016 HHH-12189 - Only call setAccessible() when member is not accessible 2017-12-27 09:53:07 -06:00
Andrea Boriero 00a07caf5b HHH-12098 - Fix licence checkstyle error 2017-12-13 17:42:43 +00:00
Steve Ebersole 59c3baae32 HHH-12146 - Support enabling caching at any level within a mapped hierarchy 2017-12-13 06:19:32 -06:00
Steve Ebersole 7fc5d3e856 HHH-12098 - prep 5.3 2017-12-13 06:19:32 -06:00
Steve Ebersole 4b3a18a5b4 HHH-12098 - prep 5.3 2017-12-13 06:19:31 -06:00