Skip to content

Commit 80329af

Browse files
committed
TOP 句を付与する処理をメソッドに切り出し
1 parent 4c83d59 commit 80329af

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/main/java/org/seasar/doma/internal/jdbc/dialect/Mssql2008PagingTransformer.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,13 @@ public SqlNode visitSelectStatementNode(SelectStatementNode node, Void p) {
5050
}
5151
processed = true;
5252

53+
return appendTopNode(node);
54+
}
55+
56+
protected SqlNode appendTopNode(SelectStatementNode node) {
5357
SelectClauseNode select = new SelectClauseNode(node
5458
.getSelectClauseNode().getWordNode());
55-
select.appendNode(new FragmentNode(" top " + limit));
59+
select.appendNode(new FragmentNode(" top (" + limit + ")"));
5660
for (SqlNode child : node.getSelectClauseNode().getChildren()) {
5761
select.appendNode(child);
5862
}
@@ -67,5 +71,4 @@ public SqlNode visitSelectStatementNode(SelectStatementNode node, Void p) {
6771
result.setForUpdateClauseNode(node.getForUpdateClauseNode());
6872
return result;
6973
}
70-
7174
}

src/test/java/org/seasar/doma/internal/jdbc/dialect/Mssql2008PagingTransformerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void testOffsetOnly() throws Exception {
5959
}
6060

6161
public void testLimitOnly() throws Exception {
62-
String expected = "select top 10 emp.id from emp order by emp.id";
62+
String expected = "select top (10) emp.id from emp order by emp.id";
6363
Mssql2008PagingTransformer transformer = new Mssql2008PagingTransformer(
6464
-1, 10);
6565
SqlParser parser = new SqlParser(

0 commit comments

Comments
 (0)