Commit Graph

5151 Commits

Author SHA1 Message Date
Sanne Grinovero 4b2f056a63 HHH-13565 Avoid allocating ArrayList of ConnectionObserver instances on each Session 2019-08-22 13:51:36 +01:00
Sanne Grinovero 4ef8030f51 HHH-13565 Move field SessionImpl#discardOnClose to FastSessionServices as well 2019-08-22 13:51:36 +01:00
Sanne Grinovero e23e6a73e6 HHH-13565 Extract Session properties to avoid eager initialization of Map<String,Object> properties 2019-08-22 13:51:36 +01:00
Sanne Grinovero 457e9b61fa HHH-13565 Formatting improvements 2019-08-22 13:51:36 +01:00
Sanne Grinovero bc5b3c028f HHH-13565 Remove some related dead code 2019-08-22 13:51:36 +01:00
Sanne Grinovero be9fe27592 HHH-13565 Promote to FastSessionServices: isJtaTransactionAccessible 2019-08-22 13:51:36 +01:00
Sanne Grinovero 8931ef0962 HHH-13565 Promote JDBCServices as hot service to be retrieved from FastSessionService as well 2019-08-22 13:51:32 +01:00
Sanne Grinovero 185ef2edb7 HHH-13565 Extract some hot ServiceRegistry services as well 2019-08-22 09:26:16 +01:00
Sanne Grinovero 72ce71ef10 HHH-13565 Dialect is another constant 2019-08-22 09:26:16 +01:00
Sanne Grinovero 8a3c1ee504 HHH-13565 Promote field useStreamForLobBinding as cross-Session constant 2019-08-22 09:26:16 +01:00
Sanne Grinovero a39acebde8 HHH-13565 Move field AbstractSharedSessionContract#disallowOutOfTransactionUpdateOperations to constants in FastSessionServices 2019-08-22 09:26:16 +01:00
Sanne Grinovero 5eaa1498df HHH-13565 Session opening efficiency: introduce FastSessionServices and design for shared services among sessions 2019-08-22 09:26:16 +01:00
Sanne Grinovero 408275ddec HHH-13594 ResourceRegistryStandardImpl#release could avoid allocating a capturing lambda 2019-08-20 19:12:21 +01: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
Ladislav Kulhanek e0f4047429 HHH-12993 Omit joining of superclass table when querying subclass only 2019-08-19 10:11:29 -05:00
Sanne Grinovero da847f4b57 HHH-13587 Avoid using deprecated PersistenceContext#getCollectionEntries in tests 2019-08-19 14:18:28 +01:00
Sanne Grinovero 7531ed793a HHH-13587 Make StatefulPersistenceContext#entitiesByUniqueKey lazily initialized as well 2019-08-19 14:18:28 +01:00
Sanne Grinovero 05b888e0c0 HHH-13587 Make StatefulPersistenceContext#arrayHolders lazily initialized as well 2019-08-19 14:18:28 +01:00
Sanne Grinovero dbbc24c2e1 HHH-13587 Make StatefulPersistenceContext#nonlazyCollections a lazily initialized field 2019-08-19 14:18:28 +01:00
Sanne Grinovero 690a8d5520 HHH-13587 Make StatefulPersistenceContext#collectionEntries also lazily initialized 2019-08-19 14:18:28 +01:00
Sanne Grinovero 3b30c60ce3 HHH-13587 Introduce SPI method PersistenceContext#getCollectionEntriesSize() 2019-08-19 14:18:28 +01:00
Sanne Grinovero 0d10174c23 HHH-13587 Make StatefulPersistenceContext#parentsByChild a lazily initialized IdentityHashMap 2019-08-19 14:18:28 +01:00
Sanne Grinovero 1101727a4f HHH-13587 StatefulPersistenceContext#unownedCollections was almost fully lazy already 2019-08-19 14:18:28 +01:00
Sanne Grinovero a11359524b HHH-13587 Lazily initialize ConcurrentReferenceHashMap proxiesByKey in StatefulPersistenceContext 2019-08-19 14:18:28 +01:00
Sanne Grinovero 0538b97d6a HHH-13587 Allocate StatefulPersistenceContext#naturalIdXrefDelegate lazily 2019-08-19 14:18:28 +01:00
Sanne Grinovero aae670b9b3 HHH-13587 Allocate StatefulPersistenceContext#nullAssociations lazily 2019-08-19 14:18:28 +01:00
Sanne Grinovero 5bbf417c52 HHH-13587 Allocate StatefulPersistenceContext#nullifiableEntityKeys lazily 2019-08-19 14:18:28 +01:00
Sanne Grinovero eb675e1c7f HHH-13587 Review formatting and logging style of StatefulPersistenceContext 2019-08-19 14:18:28 +01:00
Sanne Grinovero d065888140 HHH-13589 Avoid HashMap.values() when forEach is an easy replacement 2019-08-19 10:35:39 +01:00
Sanne Grinovero f49c97c0aa HHH-13589 ActionQueue review: code formatting 2019-08-19 10:35:39 +01:00
Sergey Ponomarev 0a3f62abbf HHH-13588 Add missed functions to MySQL Dialect: weight_string, to_base64, from_base64, regexp_replace, regexp_instr, regexp_substr 2019-08-19 09:54:22 +01:00
Sanne Grinovero 0a1213be1a HHH-13585 Duplicate resource release in PessimisticReadSelectLockingStrategy 2019-08-16 15:11:12 +01:00
Sanne Grinovero 0b64cef2b3 HHH-13579 Optimise ResourceRegistryStandardImpl to avoid heavy allocation of iterators 2019-08-16 12:31:19 +01:00
Sanne Grinovero 927f4c2ffc HHH-13584 Reduce ServiceRegistry lookups in LocalConnectionAccess in SessionFactory 2019-08-16 12:16:18 +01:00
Gail Badner 7c57047f4a HHH-13569 : Shorten table name that's too long for Oracle 2019-08-15 01:28:23 -07: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
Andrea Boriero cfd7db36c6 HHH-13574 SybaseASE does not support PARTITION BY 2019-08-14 18:11:02 -07:00
Sanne Grinovero 6b489474f5 HHH-13576 Similar debugf and tracef issues found via grepping 2019-08-14 11:40:39 +01:00
Sanne Grinovero e110ab0030 HHH-13576 A couple more Logger mistakes in SessionImpl 2019-08-14 11:16:58 +01:00
Sanne Grinovero 7746227115 HHH-13576 Invoking tracef() or debugf() w/o an array of parameters actually allocates an empty Object[] 2019-08-14 11:16:58 +01:00
Legohuman 35037dac7b HHH-13259 Fix StackOverflowError in StringHelper
Before fix method org.hibernate.internal.util.StringHelper#replace
matched placeholders illegally in case when ordinal parameters list was
expanded. Ex. placeholder ?1 was matched with ?11, ?12, ?13 etc. For
queries with 2 or more IN clauses with different collections there were
a situation when ?1 from the first clause matched with already expanded
placeholders from the second collection. Each match led to recursive
call of replace method. If collection in second clause was very long
then StackOverflowError occurred.

Fix adds check of partial placeholder match for wholeWords mode which
is used in expanding list parameters. Partial matches are skipped
during replace.
2019-08-14 10:11:26 +01:00
Gail Badner fed93b0ae9 HHH-13573 : Test failure due to Sybase not supporting cascade delete on foreign key definitions 2019-08-14 00:25:49 -07:00
Gail Badner ce03ef96b9 HHH-13570 : Test failures due to Sybase not supporting UPDATE statement with WITH(NOWAIT) 2019-08-13 23:37:47 -07:00
Gail Badner 9988d677b9 HHH-13571 : Test failures due to cross joined table out of scope of a subsequent JOIN on Sybase 2019-08-13 23:16:45 -07:00
Gail Badner 937d4a3503 HHH-13569 : org.hibernate.test.annotations.embedded.EmbeddedTest failures on Sybase 2019-08-13 18:02:32 -07:00
Andrea Boriero 1a5b401d09 HHH-13554 QueryAndSQLTest.testNativeQueryWithFormulaAttributeWithoutAlias() fails on MariaDB 2019-08-13 14:37:49 -07:00
Andrea Boriero 2aee5a930d HHH-13556 Tests doing dynamic fetch scrolling a collection fail on DB2 2019-08-13 14:17:41 -07:00
Yoann Rodière f2f788c03d HHH-13551 Test the retrieval of a service when an "incompatible" classloader is provided 2019-08-13 19:08:39 +01:00
Yoann Rodière 5174fc28dc HHH-13551 Ignore ServiceConfigurationError thrown when accessing services of individual (non-aggregated) class loaders 2019-08-13 19:08:39 +01:00
Yoann Rodière 31fb14e0d9 HHH-13551 Restucture ClassPathAndModulePathAggregatedServiceLoader
This does not change the behavior of the class at all: it simply
restructures the code to allow for the changes in the next commits.
2019-08-13 19:08:39 +01:00
Gail Badner 3583074619 HHH-13558 : InstantTest, LocalDateTimeTest, OffsetDateTimeTest, ZonedDateTimeTest failing on Sybase for year 1600 2019-08-12 21:30:20 -07:00
Gail Badner 1b06b76e17 HHH-13557 : LocalTimeTest#writeThenNativeRead and OffsetTimeTest#writeThenNativeRead tests are failing on SQL Server 2019-08-12 19:39:53 -07:00
Sanne Grinovero 3e17be9832 HHH-13562 List of TransactionObserver for JdbcResourceLocalTransactionCoordinatorImpl should be lazily initialized 2019-08-12 18:50:19 +01:00
Sanne Grinovero 25ca80b1c5 HHH-13563 ResultSetReturnImpl is looking up JdbcServices on each construction 2019-08-12 18:50:19 +01:00
Sanne Grinovero d4e1b7ffbc HHH-13561 Do not retrieve the same ActionQueue multiple times 2019-08-12 16:54:58 +01:00
Gail Badner fdca4b2854 HHH-13559 : Skip failing tests on Sybase 2019-08-09 18:52:16 -07:00
Gail Badner cb51b1e838 HH-13550 : Fix Oracle failure for test added by HHH-13424 2019-08-09 17:28:42 -07:00
Gail Badner 2a018ffcb4 Revert "HHH-13557 : LocalTimeTest#writeThenNativeRead and OffsetTimeTest#writeThenNativeRead tests are failing on SQL Server"
This reverts commit c703bbede1.
2019-08-09 17:13:44 -07:00
Gail Badner c703bbede1 HHH-13557 : LocalTimeTest#writeThenNativeRead and OffsetTimeTest#writeThenNativeRead tests are failing on SQL Server 2019-08-09 17:09:00 -07:00
Gail Badner dbb94d8066 HHH-13555 : FetchGraphTest, MergeProxyTest and ProxyDeletionTest fail due to ConstraintViolationException 2019-08-09 14:56:18 -07:00
Gail Badner 2a154cb583 HHH-13554 : QueryAndSQLTest.testNativeQueryWithFormulaAttributeWithoutAlias() fails on Oracle, MSSQL, Sybase, DB2 2019-08-09 13:55:14 -07:00
Jonathan Bregler 6841012f78 HHH-13553 Fix test failures on SAP HANA
- Skip org.hibernate.test.annotations.query.QueryAndSQLTest.testNativeQueryWithFormulaAttributeWithoutAlias
- Update HANA JDBC driver to fix org.hibernate.test.type.LocalDateTimeTest
2019-08-09 17:58:17 +01:00
Sanne Grinovero 1d4d018dfa HHH-13552 Avoid retrieving the same Persister twice 2019-08-09 17:38:47 +01:00
Sanne Grinovero 80f8f0845c HHH-13552 Store the Collection Persister in a field of CollectionType 2019-08-09 17:38:36 +01:00
Gail Badner 6510c34e93 HHH-13550 : Fix Oracle failure for test added by HHH-13424 2019-08-08 22:34:09 -07:00
Sanne Grinovero 9b3c9e6f0f HHH-13548 Since SessionOwner is deprecated several fields in SessionImpl can be removed 2019-08-08 15:27:19 +01:00
Sanne Grinovero 0028c850b9 HHH-13549 StringHelper: use char rather than string when possible 2019-08-08 15:19:04 +01:00
Sanne Grinovero 85d4ffda14 HHH-13549 Simplify StringHelper#isQuoted 2019-08-08 15:19:04 +01:00
Sanne Grinovero de8d6d095f HHH-13549 StringHelper: Prefer generics over casting 2019-08-08 15:19:04 +01:00
Sanne Grinovero 0bf9bb1423 HHH-13549 Fix a couple typos 2019-08-08 15:19:04 +01:00
Sanne Grinovero a1498331aa HHH-13549 Remove dead code from StringHelper 2019-08-08 15:19:04 +01:00
Sanne Grinovero 7dd520d7e4 HHH-13512 Amend: Optimise StringHelper#isQuoted(String, Dialect) 2019-08-07 21:57:21 +01:00
Sanne Grinovero 87907e1edd HHH-13546 Fetch configuration details at initialization of StatisticsImpl 2019-08-07 11:56:33 +01:00
Sanne Grinovero 8460cd8796 HHH-13546 Make the sessionFactory field in StatisticsImpl required 2019-08-07 11:56:30 +01:00
Sanne Grinovero 41cab3bfce HHH-13527 Minimize captured state in lambdas used for Statistics 2019-08-07 09:10:22 +01:00
Sanne Grinovero b07e4b1ba3 HHH-13527 Fix contention in StatisticsImpl#getDomainDataRegionStatistics() 2019-08-07 09:10:22 +01:00
Sanne Grinovero 7cb828f4e7 HHH-13544 Restore logged warning on jdbc code mapping issue in NationalizedTypeMappings 2019-08-06 16:18:21 +01:00
Sanne Grinovero 8c228244de HHH-13541 ExceptionConverter instance in AbstractSharedSessionContract should be lazily initialized 2019-08-05 15:15:41 +01:00
Batbileg Dorj d9e16fe8ca HHH-13249 Introduce an option to Log slow queries instead of all queries 2019-08-05 10:51:09 +01:00
Sanne Grinovero 618d186cb2 HHH-13534 AbstractLoadPlanBasedLoader never needs a List of AfterLoadAction 2019-08-02 15:38:17 +01:00
Sanne Grinovero 343deb982f HHH-13531 Some more opportunities to reuse the constants pool in AliasConstantsHelperMore opportunities to reuse the int_ constant pools 2019-08-02 11:43:59 +01:00
Sanne Grinovero 33532c8998 HHH-13512 Remove some dead code 2019-08-01 15:51:42 +01:00
Sanne Grinovero ca444fc487 HHH-13512 Optimise StringHelper#isQuoted(String, Dialect) 2019-08-01 15:51:42 +01:00
Sanne Grinovero 7f6bf82fed HHH-13512 Avoid allocating an array in org.hibernate.internal.util.StringHelper#unquote(String[], Dialect) if there are no changes to be applied 2019-08-01 15:49:37 +01:00
Sanne Grinovero c35bce15f9 HHH-13521 Avoid excessive validation of enabled filters 2019-07-31 19:36:06 +01:00
Andrea Boriero ae176223b2 HHH-13528 Remove call to resourceRegistry.release(ResultSet resultSet, Statement statement) from AbstractLoadPlanBasedLoader#executeLoad() 2019-07-31 19:03:16 +01:00
Sanne Grinovero edb8093319 HHH-13529 Specifically optimise Dialect retrieval from DefaultEntityAliases 2019-07-31 18:54:08 +01:00
Sanne Grinovero 6e373f2e17 HHH-13529 Dot not access hot JdbcServices over ServiceRegistry 2019-07-31 18:54:08 +01:00
Sanne Grinovero 2c304a5e18 HHH-13528 Invoke afterStatements only at the end of releasing all statements for a batch 2019-07-31 12:19:23 +01:00
Sanne Grinovero 51c94121cb HHH-13526 Avoid repeated lookups for the same component 2019-07-31 12:19:23 +01:00
Sanne Grinovero 68b1b650e9 HHH-13526 Optimise HashMap lookup operations on ResourceRegistryStandardImpl xref 2019-07-31 12:19:23 +01:00
Gail Badner 7d54b59743 HHH-13466 : ClassCastException when changing a Collection association to a Set if @PreUpdate listener exists 2019-07-30 11:53:07 -07:00
Gail Badner 80828eba43 HHH-13466 : Test cases 2019-07-30 11:53:07 -07:00
Sanne Grinovero 429cdeff06 HHH-13522 Optimise LoadQueryInfluencers by making maps lazily initialized 2019-07-30 15:34:53 +01:00
Sanne Grinovero d6abbe5124 HHH-13525 Make test SessionDelegatorBaseImplTest more resilient to previously existing alias definition 2019-07-30 12:09:11 +01:00
Sanne Grinovero 8ee9b7e218 HHH-13524 Remove unused fields xref,unassociatedResultSets from JdbcCoordinatorImpl 2019-07-30 11:47:43 +01:00
Sanne Grinovero 904ed10eaf HHH-13523 Remove an additional field from JdbcCoordinatorImpl 2019-07-30 11:39:34 +01:00
Andrea Boriero c0c6e10272 HHH-13523 StatementPreparerImpl should not need to retrieve the JDBCService as often 2019-07-30 11:39:29 +01:00
Sanne Grinovero 3483d7c022 HHH-13520 Deprecate mutators on SqlStatementLogger 2019-07-29 21:50:48 +01:00