|
@@ -611,6 +611,33 @@ sql_checker_tests = [
|
|
|
sql_optimizer_tests = [
|
|
|
(
|
|
|
"select * from person where (age < 18) or (age > 60 and age < 35);",
|
|
|
+ {
|
|
|
+ "select_cols": [
|
|
|
+ {
|
|
|
+ "target": {
|
|
|
+ "type": "select_all_column",
|
|
|
+ "value": "select_all_column",
|
|
|
+ },
|
|
|
+ "type": "select_all_column",
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "table_names": ["person"],
|
|
|
+ "type": "select_stmt",
|
|
|
+ "where": {
|
|
|
+ "left": {
|
|
|
+ "left": {"type": "identifier", "value": "age"},
|
|
|
+ "op_type": "bin_cmp_op",
|
|
|
+ "right": {"type": "int", "value": 18},
|
|
|
+ "type": "小于",
|
|
|
+ },
|
|
|
+ "op_type": "bin_logical_op",
|
|
|
+ "right": {"type": "bool", "value": False},
|
|
|
+ "type": "或",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "select * from person where (age < 18) and age < 5 and age < 35;",
|
|
|
{
|
|
|
"select_cols": [
|
|
|
{
|
|
@@ -626,7 +653,7 @@ sql_optimizer_tests = [
|
|
|
"where": {
|
|
|
"left": {"type": "identifier", "value": "age"},
|
|
|
"op_type": "bin_cmp_op",
|
|
|
- "right": {"type": "int", "value": 18},
|
|
|
+ "right": {"type": "int", "value": 5},
|
|
|
"type": "小于",
|
|
|
},
|
|
|
},
|