提交 8cf4d7ef 编写于 作者: T terrymanu

remove token for limit

上级 02e94996
......@@ -29,8 +29,6 @@ import lombok.RequiredArgsConstructor;
@Getter
public final class OffsetLimitToken implements SQLToken {
public static final String OFFSET_NAME = "limit_offset";
private final int beginPosition;
private final int offset;
......
......@@ -29,8 +29,6 @@ import lombok.RequiredArgsConstructor;
@Getter
public final class RowCountLimitToken implements SQLToken {
public static final String COUNT_NAME = "limit_count";
private final int beginPosition;
private final int rowCount;
......
......@@ -3,7 +3,6 @@ package com.dangdang.ddframe.rdb.sharding.rewrite;
import com.google.common.base.Joiner;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
/**
......@@ -12,7 +11,6 @@ import lombok.Setter;
* @author zhangliang
*/
@AllArgsConstructor
@RequiredArgsConstructor
@Getter
@Setter
public final class SQLBuilderToken {
......
......@@ -120,16 +120,14 @@ public final class SQLRewriteEngine {
}
private void appendLimitRowCount(final SQLBuilder sqlBuilder, final RowCountLimitToken rowCountLimitToken, final int count, final List<SQLToken> sqlTokens, final boolean isRewrite) {
String rowCount = isRewrite ? String.valueOf(rowCountLimitToken.getRowCount() + limit.getOffset()) : String.valueOf(rowCountLimitToken.getRowCount());
sqlBuilder.append(new SQLBuilderToken(RowCountLimitToken.COUNT_NAME, rowCount));
sqlBuilder.append(isRewrite ? String.valueOf(rowCountLimitToken.getRowCount() + limit.getOffset()) : String.valueOf(rowCountLimitToken.getRowCount()));
int beginPosition = rowCountLimitToken.getBeginPosition() + String.valueOf(rowCountLimitToken.getRowCount()).length();
int endPosition = sqlTokens.size() - 1 == count ? originalSQL.length() : sqlTokens.get(count + 1).getBeginPosition();
sqlBuilder.append(originalSQL.substring(beginPosition, endPosition));
}
private void appendLimitOffsetToken(final SQLBuilder sqlBuilder, final OffsetLimitToken offsetLimitToken, final int count, final List<SQLToken> sqlTokens, final boolean isRewrite) {
String offset = isRewrite ? "0" : String.valueOf(offsetLimitToken.getOffset());
sqlBuilder.append(new SQLBuilderToken(OffsetLimitToken.OFFSET_NAME, offset));
sqlBuilder.append(isRewrite ? "0" : String.valueOf(offsetLimitToken.getOffset()));
int beginPosition = offsetLimitToken.getBeginPosition() + String.valueOf(offsetLimitToken.getOffset()).length();
int endPosition = sqlTokens.size() - 1 == count ? originalSQL.length() : sqlTokens.get(count + 1).getBeginPosition();
sqlBuilder.append(originalSQL.substring(beginPosition, endPosition));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册