diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java index f5065b51e347..0a7299d5c06e 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java @@ -351,10 +351,9 @@ public RowLockStrategy getWriteRowLockStrategy() { return RowLockStrategy.COLUMN; } - @Override - public String getForUpdateString() { - return " for update"; + public String getForUpdateString(String aliases) { + return " for update of " + aliases; } @Override diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/pagination/TimesTenLimitHandler.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/pagination/TimesTenLimitHandler.java index 9249360ac0ad..3dafe56b977c 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/pagination/TimesTenLimitHandler.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/pagination/TimesTenLimitHandler.java @@ -6,26 +6,20 @@ */ package org.hibernate.community.dialect.pagination; +import org.hibernate.dialect.pagination.AbstractSimpleLimitHandler; import org.hibernate.dialect.pagination.LimitHandler; -import org.hibernate.dialect.pagination.LimitHandler; -import org.hibernate.dialect.pagination.AbstractLimitHandler; /** * A {@link LimitHandler} for TimesTen, which uses {@code ROWS n}, * but at the start of the query instead of at the end. */ -public class TimesTenLimitHandler extends AbstractLimitHandler { +public class TimesTenLimitHandler extends AbstractSimpleLimitHandler { public static final TimesTenLimitHandler INSTANCE = new TimesTenLimitHandler(); public TimesTenLimitHandler(){ } - @Override - public boolean supportsLimit() { - return true; - } - @Override public boolean supportsOffset() { return false; @@ -36,14 +30,6 @@ public boolean supportsLimitOffset() { return true; } - @Override - public boolean supportsVariableLimit() { - // a limit string using literals instead of parameters is - // required to translate from Hibernate's 0 based row numbers - // to TimesTen 1 based row numbers - return false; - } - @Override // TimesTen is 1 based public int convertToFirstRowValue(int zeroBasedFirstResult) { @@ -60,6 +46,7 @@ public boolean bindLimitParametersFirst() { return true; } + @Override protected String limitClause(boolean hasFirstRow) { return hasFirstRow ? " rows ? to ?" : " first ?"; } diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/TimesTenSequenceSupport.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/TimesTenSequenceSupport.java index 72f73050436f..c0aa8308c519 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/TimesTenSequenceSupport.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/TimesTenSequenceSupport.java @@ -17,13 +17,6 @@ public final class TimesTenSequenceSupport implements SequenceSupport { public static final SequenceSupport INSTANCE = new TimesTenSequenceSupport(); - - - @Override - public boolean supportsSequences() { - return true; - } - @Override public boolean supportsPooledSequences() { return true;