123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- 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": {"type": "identifier", "value": "age"},
- "op_type": "bin_cmp_op",
- "right": {"type": "int", "value": 18},
- "type": "小于",
- },
- },
- ),
- (
- "select * from person where (age < 18) and age < 5 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": {"type": "identifier", "value": "age"},
- "op_type": "bin_cmp_op",
- "right": {"type": "int", "value": 5},
- "type": "小于",
- },
- },
- ),
- (
- "select * from person where age < 18 and (age > 5 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": {"type": "bool", "value": False},
- },
- ),
- (
- """select person.name
- from person join class
- on age=22 and class.id=person.classId ;
- """,
- {
- "join_options": {
- "join_with": {"type": "identifier", "value": "class"},
- "on": {
- "left": {"field": "id", "table": "class", "type": "table_field"},
- "op_type": "bin_cmp_op",
- "right": {
- "field": "classId",
- "table": "person",
- "type": "table_field",
- },
- "type": "相等",
- },
- "type": "join_options",
- },
- "select_cols": [
- {
- "target": {
- "field": "name",
- "table": "person",
- "type": "table_field",
- },
- "type": "select_column",
- }
- ],
- "table_names": ["person"],
- "type": "select_stmt",
- "where": {
- "left": {"type": "identifier", "value": "age"},
- "op_type": "bin_cmp_op",
- "right": {"type": "int", "value": 22},
- "type": "相等",
- },
- },
- ),
- (
- """select person.name
- from person join class
- on age=22;
- """,
- {
- "join_options": {
- "join_with": {"type": "identifier", "value": "class"},
- "on": {},
- "type": "join_options",
- },
- "select_cols": [
- {
- "target": {
- "field": "name",
- "table": "person",
- "type": "table_field",
- },
- "type": "select_column",
- }
- ],
- "table_names": ["person"],
- "type": "select_stmt",
- "where": {
- "left": {"type": "identifier", "value": "age"},
- "op_type": "bin_cmp_op",
- "right": {"type": "int", "value": 22},
- "type": "相等",
- },
- },
- ),
- ]
|