提交 69b3dd59 编写于 作者: T terrymanu

refactor parseSelectList 10th version

上级 8097d7ce
......@@ -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解析
......
......@@ -53,7 +53,6 @@ public abstract class AbstractBaseParseSQLTest extends AbstractBaseParseTest {
}
}
private void assertExpectedTables(final SQLStatement actual) {
assertTrue(new ReflectionEquals(getExpectedTables()).matches(actual.getTables()));
}
......
......@@ -138,6 +138,9 @@
<value index="3" literal="10" type="int" />
</condition>
</conditions>
<order-by-columns>
<order-by-column name="item_id" alias="ORDER_BY_DERIVED_0" owner="i" order-by-type="DESC" />
</order-by-columns>
<limit row-count="3" row-count-index="4" />
</assert>
<assert id="assertSelectPaginationWithOffsetAndRowCountInOracle" parameters="1,2,9,10,5,3">
......@@ -157,6 +160,9 @@
<value index="3" literal="10" type="int" />
</condition>
</conditions>
<order-by-columns>
<order-by-column name="item_id" alias="ORDER_BY_DERIVED_0" owner="i" order-by-type="DESC" />
</order-by-columns>
<limit offset="3" offset-index="5" row-count-index="4" row-count="5" />
</assert>
</asserts>
......@@ -62,6 +62,9 @@
<value index="4" literal="10" type="int" />
</condition>
</conditions>
<group-by-columns>
<group-by-column name="item_id" owner="i" order-by-type="ASC" />
</group-by-columns>
<order-by-columns>
<order-by-column name="item_id" owner="i" order-by-type="DESC" />
</order-by-columns>
......@@ -83,6 +86,9 @@
<value index="4" literal="10" type="int" />
</condition>
</conditions>
<group-by-columns>
<group-by-column name="user_id" alias="GROUP_BY_DERIVED_0" owner="i" order-by-type="ASC" />
</group-by-columns>
<order-by-columns>
<order-by-column name="item_id" owner="i" order-by-type="DESC" />
</order-by-columns>
......@@ -104,6 +110,9 @@
<value index="4" literal="10" type="int" />
</condition>
</conditions>
<group-by-columns>
<group-by-column name="item_id" owner="i" order-by-type="ASC" />
</group-by-columns>
<order-by-columns>
<order-by-column name="item_id" owner="i" order-by-type="DESC" />
</order-by-columns>
......@@ -125,6 +134,9 @@
<value index="4" literal="10" type="int" />
</condition>
</conditions>
<group-by-columns>
<group-by-column name="user_id" alias="GROUP_BY_DERIVED_0" owner="i" order-by-type="ASC" />
</group-by-columns>
<order-by-columns>
<order-by-column name="item_id" owner="i" order-by-type="DESC" />
</order-by-columns>
......@@ -147,6 +159,12 @@
<value index="3" literal="10" type="int" />
</condition>
</conditions>
<group-by-columns>
<group-by-column name="item_id" alias="GROUP_BY_DERIVED_0" owner="i" order-by-type="ASC" />
</group-by-columns>
<order-by-columns>
<order-by-column name="item_id" alias="ORDER_BY_DERIVED_0" owner="i" order-by-type="DESC" />
</order-by-columns>
<limit offset="3" offset-index="5" row-count-index="4" row-count="5" />
</assert>
<assert id="assertSelectPaginationWithDiffGroupByAndOrderByInOracle" parameters="1,2,9,10,5,3">
......@@ -166,6 +184,12 @@
<value index="3" literal="10" type="int" />
</condition>
</conditions>
<group-by-columns>
<group-by-column name="user_id" alias="GROUP_BY_DERIVED_0" owner="i" order-by-type="ASC" />
</group-by-columns>
<order-by-columns>
<order-by-column name="item_id" alias="ORDER_BY_DERIVED_0" owner="i" order-by-type="DESC" />
</order-by-columns>
<limit offset="3" offset-index="5" row-count-index="4" row-count="5" />
</assert>
</asserts>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册