Commit Graph

9832 Commits

Author SHA1 Message Date
Sanne Grinovero 646a8756a9 HHH-13565 Making SessionFactoryImpl#LockOptions lazily initialized as well 2019-08-22 13:51:36 +01:00
Sanne Grinovero 2de048fde5 HHH-13565 Prepare the most commonly needed SessionBuilder instances in advance 2019-08-22 13:51:36 +01:00
Sanne Grinovero cc39f54717 HHH-13565 Micro cleanup of Trace level checks 2019-08-22 13:51:36 +01:00
Sanne Grinovero 91299aeb7f HHH-13565 Remove some dead code from SessionImpl 2019-08-22 13:51:36 +01:00
Sanne Grinovero b8f3fc3616 HHH-13565 Convert iteration of event listeners to be allocation free 2019-08-22 13:51:36 +01:00
Sanne Grinovero 269d5f8358 HHH-13565 Review allocations for default SessionEventListener instances 2019-08-22 13:51:36 +01:00
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