diff --git a/sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/statement/dql/select/AbstractSelectParser.java b/sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/statement/dql/select/AbstractSelectParser.java
index 93d00c8bbf467ed0c7daf05af2e0a2894fed135b..4a67c031b742c80aee440cf0b8cde04b48a11f31 100755
--- a/sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/statement/dql/select/AbstractSelectParser.java
+++ b/sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/statement/dql/select/AbstractSelectParser.java
@@ -349,7 +349,7 @@ public abstract class AbstractSelectParser implements SQLStatementParser {
sqlParser.skipUselessParentheses();
parse();
sqlParser.skipUselessParentheses();
- if (!selectStatement.getTables().isEmpty() || getSqlParser().equalAny(DefaultKeyword.WHERE, Assist.END)) {
+ if (getSqlParser().equalAny(DefaultKeyword.WHERE, Assist.END)) {
return;
}
}
@@ -362,8 +362,8 @@ public abstract class AbstractSelectParser implements SQLStatementParser {
}
protected final void parseTableFactor() {
- final int beginPosition = sqlParser.getLexer().getCurrentToken().getEndPosition() - sqlParser.getLexer().getCurrentToken().getLiterals().length();
sqlParser.skipAll(DefaultKeyword.AS);
+ final int beginPosition = sqlParser.getLexer().getCurrentToken().getEndPosition() - sqlParser.getLexer().getCurrentToken().getLiterals().length();
String literals = sqlParser.getLexer().getCurrentToken().getLiterals();
sqlParser.getLexer().nextToken();
// TODO 包含Schema解析
diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/base/AbstractBaseParseSQLTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/base/AbstractBaseParseSQLTest.java
index 506d476a3768a465e335fcd785cbb176f825e984..e85ed24bd78af50343e8ffe3ca250c5f97800c26 100644
--- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/base/AbstractBaseParseSQLTest.java
+++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parsing/parser/base/AbstractBaseParseSQLTest.java
@@ -53,7 +53,6 @@ public abstract class AbstractBaseParseSQLTest extends AbstractBaseParseTest {
}
}
-
private void assertExpectedTables(final SQLStatement actual) {
assertTrue(new ReflectionEquals(getExpectedTables()).matches(actual.getTables()));
}
diff --git a/sharding-jdbc-core/src/test/resources/parser/select_pagination.xml b/sharding-jdbc-core/src/test/resources/parser/select_pagination.xml
index 8e9089fca69b1fd9dce727f109a3fc5bbb4597b6..c1bca8b615054200a4d5500e9863ae465415d2cb 100644
--- a/sharding-jdbc-core/src/test/resources/parser/select_pagination.xml
+++ b/sharding-jdbc-core/src/test/resources/parser/select_pagination.xml
@@ -138,6 +138,9 @@
+
+
+
@@ -157,6 +160,9 @@
+
+
+
diff --git a/sharding-jdbc-core/src/test/resources/parser/select_pagination_group_by_order_by.xml b/sharding-jdbc-core/src/test/resources/parser/select_pagination_group_by_order_by.xml
index d7e4b510bc6cef0428e9f907ec1b6ad3a80bab58..7eb16d2060c6071aa2440457ca2607759033d83a 100644
--- a/sharding-jdbc-core/src/test/resources/parser/select_pagination_group_by_order_by.xml
+++ b/sharding-jdbc-core/src/test/resources/parser/select_pagination_group_by_order_by.xml
@@ -62,6 +62,9 @@
+
+
+
@@ -83,6 +86,9 @@
+
+
+
@@ -104,6 +110,9 @@
+
+
+
@@ -125,6 +134,9 @@
+
+
+
@@ -147,6 +159,12 @@
+
+
+
+
+
+
@@ -166,6 +184,12 @@
+
+
+
+
+
+