From 5a98ded540e21e6f24a3fd7994345c5546ac3fa8 Mon Sep 17 00:00:00 2001 From: Andrea Boriero Date: Mon, 16 Nov 2015 12:17:47 +0000 Subject: [PATCH] HHH-10288 - Temporary table support is broken using PostgresPlusDialect --- .../dialect/PostgreSQL82Dialect.java | 23 ++++++++++++++++++ .../hibernate/dialect/PostgreSQL9Dialect.java | 24 ------------------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL82Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL82Dialect.java index 5125f2f5dd..0d1e9e88d5 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL82Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL82Dialect.java @@ -7,6 +7,10 @@ package org.hibernate.dialect; import org.hibernate.boot.model.TypeContributions; +import org.hibernate.hql.spi.id.IdTableSupportStandardImpl; +import org.hibernate.hql.spi.id.MultiTableBulkIdStrategy; +import org.hibernate.hql.spi.id.local.AfterUseAction; +import org.hibernate.hql.spi.id.local.LocalTemporaryTableBulkIdStrategy; import org.hibernate.service.ServiceRegistry; import org.hibernate.type.PostgresUUIDType; @@ -28,4 +32,23 @@ public void contributeTypes(TypeContributions typeContributions, ServiceRegistry // HHH-9562 typeContributions.contributeType( PostgresUUIDType.INSTANCE ); } + + @Override + public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() { + return new LocalTemporaryTableBulkIdStrategy( + new IdTableSupportStandardImpl() { + @Override + public String getCreateIdTableCommand() { + return "create temporary table"; + } + + @Override + public String getDropIdTableCommand() { + return "drop table"; + } + }, + AfterUseAction.DROP, + null + ); + } } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL9Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL9Dialect.java index 2aed4b61bd..eee57f43db 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL9Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL9Dialect.java @@ -6,11 +6,6 @@ */ package org.hibernate.dialect; -import org.hibernate.hql.spi.id.IdTableSupportStandardImpl; -import org.hibernate.hql.spi.id.MultiTableBulkIdStrategy; -import org.hibernate.hql.spi.id.local.AfterUseAction; -import org.hibernate.hql.spi.id.local.LocalTemporaryTableBulkIdStrategy; - /** * An SQL dialect for Postgres 9 and later. Adds support for "if exists" when dropping constraints * @@ -21,23 +16,4 @@ public class PostgreSQL9Dialect extends PostgreSQL82Dialect { public boolean supportsIfExistsBeforeConstraintName() { return true; } - - @Override - public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() { - return new LocalTemporaryTableBulkIdStrategy( - new IdTableSupportStandardImpl() { - @Override - public String getCreateIdTableCommand() { - return "create temporary table"; - } - - @Override - public String getDropIdTableCommand() { - return "drop table"; - } - }, - AfterUseAction.DROP, - null - ); - } }