提交 f98055bd 编写于 作者: L Liang Zhang 提交者: Juan Pan(Trista)

Assert between predicate (#4073)

* add shardingsphere-ui-bin-distribution module

* add shardingsphere-ui-src-distribution module

* add final name for shardingsphere-ui

* assert between predicate

* fix test case for select_between_with_geography

* add null assert

* remove IN operator

* fix test case for select_between_with_single_table

* fix test case for select_count_like_concat

* fix test case for select_count_like_concat

* fix test case for select_count_with_binding_tables_with_join

* fix test case for select_count_tilde_concat

* fix test case for select_count_with_binding_tables_without_join

* fix test case for select_group_by_without_grouped_column

* fix test case for select_keyword_table_name_with_back_quotes

* fix test case for select_keyword_table_name_with_double_quotes

* fix test case for select_keyword_table_name_with_square_brackets

* fix test case for select_pagination_with_diff_group_by_and_order_by

* fix test case for select_pagination_with_group_by_and_order_by

* fix test case for select_pagination_with_limit_and_offset_keyword

* fix test case for select_pagination_with_limit_with_back_quotes

* fix test case for select_pagination_with_offset_and_limit

* fix test case for select_pagination_with_row_count

* fix test case for select_pagination_with_top

* fix test case for select_sharding_route_with_binding_tables

* fix test case for select_sharding_route_with_broadcast_table

* fix all cases
上级 0bb28bd1
......@@ -28,6 +28,7 @@ import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.Expect
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedOperator;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedPredicate;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedWhere;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateBetweenRightValue;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateCompareRightValue;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateInRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment;
......@@ -40,6 +41,7 @@ import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.simple.Paramete
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.AndPredicate;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.PredicateSegment;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.WhereSegment;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateBetweenRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateCompareRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateInRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.generic.TableSegment;
......@@ -104,6 +106,9 @@ public final class WhereAssert {
} else if (each.getRightValue() instanceof PredicateInRightValue) {
assertOperator(assertMessage, each, expectedPredicate.getOperator());
assertInRightValue(assertMessage, (PredicateInRightValue) each.getRightValue(), expectedPredicate.getInRightValue(), sqlCaseType);
} else if (each.getRightValue() instanceof PredicateBetweenRightValue) {
assertOperator(assertMessage, each, expectedPredicate.getOperator());
assertBetweenRightValue(assertMessage, (PredicateBetweenRightValue) each.getRightValue(), expectedPredicate.getBetweenRightValue(), sqlCaseType);
}
// TODO add other right value assertion
SQLSegmentAssert.assertIs(assertMessage, each, expectedPredicate, sqlCaseType);
......@@ -131,11 +136,9 @@ public final class WhereAssert {
}
private static void assertOperator(final SQLStatementAssertMessage assertMessage, final PredicateSegment actual, final ExpectedOperator expected) {
assertNotNull(assertMessage.getText("Operator assertion error: "), expected);
if (actual.getRightValue() instanceof PredicateCompareRightValue) {
assertNotNull(assertMessage.getText("Operator assertion error: "), expected);
assertThat(assertMessage.getText("Operator assertion error: "), ((PredicateCompareRightValue) actual.getRightValue()).getOperator(), is(expected.getType()));
} else if (actual.getRightValue() instanceof PredicateInRightValue) {
assertThat(assertMessage.getText("Operator assertion error: "), "IN", is(expected.getType()));
}
// TODO assert operator start index and stop index
}
......@@ -156,6 +159,7 @@ public final class WhereAssert {
private static void assertInRightValue(final SQLStatementAssertMessage assertMessage,
final PredicateInRightValue actual, final ExpectedPredicateInRightValue expected, final SQLCaseType sqlCaseType) {
assertNotNull(assertMessage.getText("Expected predicate in right value can not be null"), expected);
int count = 0;
for (ExpressionSegment each : actual.getSqlExpressions()) {
if (each instanceof ParameterMarkerExpressionSegment) {
......@@ -184,5 +188,48 @@ public final class WhereAssert {
count++;
}
}
// SQLSegmentAssert.assertIs(assertMessage, actual, expected, sqlCaseType);
}
private static void assertBetweenRightValue(final SQLStatementAssertMessage assertMessage,
final PredicateBetweenRightValue actual, final ExpectedPredicateBetweenRightValue expected, final SQLCaseType sqlCaseType) {
assertNotNull(assertMessage.getText("Expected predicate between right value can not be null"), expected);
assertBetweenExpression(assertMessage, actual.getBetweenExpression(), expected, sqlCaseType);
assertAndExpression(assertMessage, actual.getAndExpression(), expected, sqlCaseType);
// SQLSegmentAssert.assertIs(assertMessage, actual, expected, sqlCaseType);
}
private static void assertBetweenExpression(final SQLStatementAssertMessage assertMessage,
final ExpressionSegment actual, final ExpectedPredicateBetweenRightValue expected, final SQLCaseType sqlCaseType) {
if (actual instanceof ParameterMarkerExpressionSegment) {
assertNotNull(assertMessage.getText("Expected between parameter marker expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertParameterMarkerExpression(assertMessage, (ParameterMarkerExpressionSegment) actual, expected.getBetweenParameterMarkerExpression(), sqlCaseType);
} else if (actual instanceof LiteralExpressionSegment) {
assertNotNull(assertMessage.getText("Expected between literal expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertLiteralExpression(assertMessage, (LiteralExpressionSegment) actual, expected.getBetweenLiteralExpression(), sqlCaseType);
} else if (actual instanceof CommonExpressionSegment) {
assertNotNull(assertMessage.getText("Expected between common expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertCommonExpression(assertMessage, (ComplexExpressionSegment) actual, expected.getBetweenCommonExpression(), sqlCaseType);
} else if (actual instanceof SubquerySegment) {
assertNotNull(assertMessage.getText("Expected between subquery expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertSubquery(assertMessage, (ComplexExpressionSegment) actual, expected.getBetweenSubquery(), sqlCaseType);
}
}
private static void assertAndExpression(final SQLStatementAssertMessage assertMessage,
final ExpressionSegment actual, final ExpectedPredicateBetweenRightValue expected, final SQLCaseType sqlCaseType) {
if (actual instanceof ParameterMarkerExpressionSegment) {
assertNotNull(assertMessage.getText("Expected and parameter marker expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertParameterMarkerExpression(assertMessage, (ParameterMarkerExpressionSegment) actual, expected.getAndParameterMarkerExpression(), sqlCaseType);
} else if (actual instanceof LiteralExpressionSegment) {
assertNotNull(assertMessage.getText("Expected and literal expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertLiteralExpression(assertMessage, (LiteralExpressionSegment) actual, expected.getAndLiteralExpression(), sqlCaseType);
} else if (actual instanceof CommonExpressionSegment) {
assertNotNull(assertMessage.getText("Expected and common expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertCommonExpression(assertMessage, (ComplexExpressionSegment) actual, expected.getAndCommonExpression(), sqlCaseType);
} else if (actual instanceof SubquerySegment) {
assertNotNull(assertMessage.getText("Expected and subquery expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertSubquery(assertMessage, (ComplexExpressionSegment) actual, expected.getAndSubquery(), sqlCaseType);
}
}
}
......@@ -34,7 +34,7 @@ import javax.xml.bind.annotation.XmlElement;
public final class ExpectedPredicateBetweenRightValue implements ExpectedPredicateRightValue {
@XmlElement(name = "between-parameter-marker-expression")
private ExpectedParameterMarkerExpression parameterMarkerExpression;
private ExpectedParameterMarkerExpression betweenParameterMarkerExpression;
@XmlElement(name = "between-literal-expression")
private ExpectedLiteralExpression betweenLiteralExpression;
......
......@@ -294,9 +294,21 @@
<and-predicate>
<predicate start-index="28" stop-index="50" literal-stop-index="51">
<column-left-value name="user_id" start-index="28" stop-index="34" />
<between-right-value>
<between-parameter-marker-expression value="0" />
<between-literal-expression value="1" />
<and-parameter-marker-expression value="1" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
<predicate start-index="56" stop-index="79" literal-start-index="57" literal-stop-index="80">
<column-left-value name="order_id" start-index="56" stop-index="63" literal-start-index="57" literal-stop-index="64" />
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="2" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="5" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -394,7 +406,6 @@
<and-predicate>
<predicate start-index="28" stop-index="47">
<column-left-value name="user_id" start-index="28" stop-index="34" />
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -406,7 +417,6 @@
</predicate>
<predicate start-index="53" stop-index="70" literal-stop-index="71">
<column-left-value name="order_id" start-index="53" stop-index="60" />
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="3" />
<parameter-marker-expression value="4" />
......@@ -446,7 +456,6 @@
<and-predicate>
<predicate start-index="28" stop-index="45" literal-stop-index="51">
<column-left-value name="order_id" start-index="28" stop-index="35" />
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -456,7 +465,6 @@
</predicate>
<predicate start-index="51" stop-index="68" literal-start-index="57" literal-stop-index="80">
<column-left-value name="order_id" start-index="51" stop-index="58" literal-start-index="57" literal-stop-index="64" />
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="2" />
<parameter-marker-expression value="3" />
......@@ -502,7 +510,6 @@
<column-left-value name="user_id" start-index="93" stop-index="101" literal-start-index="98" literal-stop-index="106">
<owner name="o" start-index="93" stop-index="93" literal-start-index="98" literal-stop-index="98" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="1" />
<parameter-marker-expression value="2" />
......@@ -514,6 +521,12 @@
<column-left-value name="order_id" start-index="117" stop-index="126" literal-start-index="122" literal-stop-index="131">
<owner name="o" start-index="117" stop-index="117" literal-start-index="122" literal-stop-index="122" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="3" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="4" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -550,7 +563,6 @@
<column-left-value name="user_id" start-index="91" stop-index="99" literal-start-index="96" literal-stop-index="104">
<owner name="o" start-index="91" stop-index="91" literal-start-index="96" literal-stop-index="96" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="1" />
<parameter-marker-expression value="2" />
......@@ -562,6 +574,12 @@
<column-left-value name="order_id" start-index="115" stop-index="124" literal-start-index="120" literal-stop-index="129">
<owner name="o" start-index="115" stop-index="115" literal-start-index="120" literal-stop-index="120" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="3" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="4" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -595,7 +613,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -607,6 +624,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -659,7 +682,6 @@
<column-left-value name="user_id" start-index="153" stop-index="161">
<owner name="o" start-index="153" stop-index="153" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -671,6 +693,12 @@
<column-left-value name="order_id" start-index="177" stop-index="186">
<owner name="o" start-index="177" stop-index="177" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
<predicate start-index="208" stop-index="219" literal-start-index="209" literal-stop-index="225">
<column-left-value name="status" start-index="208" stop-index="215" literal-start-index="209" literal-stop-index="216">
......@@ -723,7 +751,6 @@
<column-left-value name="user_id" start-index="144" stop-index="152">
<owner name="o" start-index="144" stop-index="144" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -735,6 +762,12 @@
<column-left-value name="order_id" start-index="168" stop-index="177">
<owner name="o" start-index="168" stop-index="168" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
<predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216">
<column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207">
......@@ -787,7 +820,6 @@
<column-left-value name="user_id" start-index="144" stop-index="152">
<owner name="o" start-index="144" stop-index="144" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -799,6 +831,12 @@
<column-left-value name="order_id" start-index="168" stop-index="177">
<owner name="o" start-index="168" stop-index="168" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
<predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216">
<column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207">
......@@ -846,7 +884,6 @@
<column-left-value name="user_id" start-index="144" stop-index="152">
<owner name="o" start-index="144" stop-index="144" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -858,6 +895,12 @@
<column-left-value name="order_id" start-index="168" stop-index="177">
<owner name="o" start-index="168" stop-index="168" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
<predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216">
<column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207">
......@@ -1016,7 +1059,6 @@
<and-predicate>
<predicate start-index="28" stop-index="55" literal-stop-index="91">
<column-left-value name="rule" start-index="28" stop-index="31" />
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -1070,6 +1112,12 @@
<and-predicate>
<predicate start-index="28" stop-index="61" literal-stop-index="97">
<column-left-value name="rule" start-index="28" stop-index="31" />
<between-right-value>
<between-parameter-marker-expression value="0" />
<between-literal-expression value="{&quot;rule2&quot;:&quot;null2&quot;}'::json" />
<and-parameter-marker-expression value="1" />
<and-literal-expression value="{&quot;rule3&quot;:&quot;null3&quot;}'::json" />
</between-right-value>
</predicate>
<predicate start-index="67" stop-index="134" literal-start-index="103" literal-stop-index="174">
<column-left-value name="start_point" start-index="67" stop-index="77" literal-start-index="103" literal-stop-index="113" />
......
......@@ -132,7 +132,6 @@
<column-left-value name="user_id" start-index="122" stop-index="130">
<owner name="o" start-index="122" stop-index="122" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -144,6 +143,12 @@
<column-left-value name="order_id" start-index="146" stop-index="155">
<owner name="o" start-index="146" stop-index="146" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -175,7 +180,6 @@
<column-left-value name="user_id" start-index="125" stop-index="133">
<owner name="o" start-index="125" stop-index="125" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -187,6 +191,12 @@
<column-left-value name="order_id" start-index="149" stop-index="158">
<owner name="o" start-index="149" stop-index="149" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......
......@@ -61,7 +61,6 @@
<column-left-value name="item_id" start-index="57" stop-index="65" literal-start-index="62" literal-stop-index="70">
<owner name="t" start-index="57" stop-index="57" literal-start-index="62" literal-stop-index="62" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="1" />
<parameter-marker-expression value="2" />
......
......@@ -127,7 +127,6 @@
<column-left-value name="user_id" start-index="125" stop-index="133">
<owner name="o" start-index="125" stop-index="125" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -139,6 +138,12 @@
<column-left-value name="order_id" start-index="149" stop-index="158">
<owner name="o" start-index="149" stop-index="149" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -221,7 +226,6 @@
<and-predicate>
<predicate start-index="112" stop-index="129" literal-stop-index="135">
<column-left-value name="order_id" start-index="112" stop-index="119" />
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......
......@@ -33,7 +33,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -45,6 +44,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -82,7 +87,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -94,6 +98,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -131,7 +141,6 @@
<column-left-value name="user_id" start-delimiter="`" end-delimiter="`" start-index="109" stop-index="119">
<owner name="o" start-index="109" stop-index="109" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -143,6 +152,12 @@
<column-left-value name="order_id" start-delimiter="`" end-delimiter="`" start-index="135" stop-index="146">
<owner name="o" start-index="135" stop-index="135" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -181,7 +196,6 @@
<column-left-value name="user_id" start-delimiter="`" end-delimiter="`" start-index="109" stop-index="119">
<owner name="o" start-index="109" stop-index="109" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -193,6 +207,12 @@
<column-left-value name="order_id" start-delimiter="`" end-delimiter="`" start-index="135" stop-index="146">
<owner name="o" start-index="135" stop-index="135" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -243,7 +263,6 @@
<column-left-value name="user_id" start-index="256" stop-index="264">
<owner name="o" start-index="256" stop-index="256" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="1" />
<parameter-marker-expression value="2" />
......@@ -255,6 +274,12 @@
<column-left-value name="order_id" start-index="280" stop-index="289">
<owner name="o" start-index="280" stop-index="280" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="3" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="4" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -292,7 +317,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -304,6 +328,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......
......@@ -33,7 +33,6 @@
<column-left-value name="user_id" start-index="111" stop-index="119">
<owner name="o" start-index="111" stop-index="111" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -45,6 +44,12 @@
<column-left-value name="order_id" start-index="135" stop-index="144">
<owner name="o" start-index="135" stop-index="135" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......@@ -87,7 +92,6 @@
<column-left-value name="user_id" start-index="111" stop-index="119">
<owner name="o" start-index="111" stop-index="111" />
</column-left-value>
<operator type="IN" />
<in-right-value>
<parameter-marker-expression value="0" />
<parameter-marker-expression value="1" />
......@@ -99,6 +103,12 @@
<column-left-value name="order_id" start-index="135" stop-index="144">
<owner name="o" start-index="135" stop-index="135" />
</column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate>
</and-predicate>
</where>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册