Merge pull request #1206 from wenshao/master

bug fixed for SQLServerOutputVisitor visit 'with clause', for issue 1…
This commit is contained in:
wenshao
2016-05-06 09:28:02 +08:00
2 changed files with 23 additions and 5 deletions
@@ -258,17 +258,17 @@ public class SQLServerOutputVisitor extends SQLASTOutputVisitor implements SQLSe
public boolean visit(SQLExprTableSource x) {
x.getExpr().accept(this);
if (x.getAlias() != null) {
print(' ');
print0(x.getAlias());
}
if (x.getHints() != null && x.getHints().size() > 0) {
print0(ucase ? " WITH (" : " with (");
printAndAccept(x.getHints(), ", ");
print(')');
}
if (x.getAlias() != null) {
print(' ');
print0(x.getAlias());
}
return false;
}
@@ -0,0 +1,18 @@
package com.alibaba.druid.bvt.sql;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.druid.sql.PagerUtils;
import com.alibaba.druid.util.JdbcConstants;
public class PagerUtilsTest_Limit_SQLServer_5 extends TestCase {
public void test_db2_union() throws Exception {
String sql = " select * from test t with (nolock)";
String result = PagerUtils.limit(sql, JdbcConstants.SQL_SERVER, 0, 10);
Assert.assertEquals("SELECT TOP 10 *"
+ "\nFROM test t WITH (nolock)", result);
}
}