Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions fe/fe-core/src/main/cup/sql_parser.cup
Original file line number Diff line number Diff line change
Expand Up @@ -3262,6 +3262,46 @@ select_list_item ::=
{:
RESULT = new SelectListItem(expr, alias);
:}
| expr:e1 opt_collate:collate EQUAL:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.EQ, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| expr:e1 opt_collate:collate NOT EQUAL:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.NE, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| expr:e1 opt_collate:collate LESSTHAN GREATERTHAN:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.NE, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| expr:e1 opt_collate:collate LESSTHAN EQUAL:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.LE, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| expr:e1 opt_collate:collate GREATERTHAN EQUAL:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.GE, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| expr:e1 opt_collate:collate LESSTHAN:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.LT, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| expr:e1 opt_collate:collate GREATERTHAN:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.GT, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| expr:e1 opt_collate:collate LESSTHAN EQUAL GREATERTHAN:op expr:e2 select_alias:alias
{:
Predicate p = new BinaryPredicate(BinaryPredicate.Operator.EQ_FOR_NULL, e1, e2);
RESULT = new SelectListItem(p, alias);
:}
| star_expr:expr
{:
RESULT = expr;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,4 +350,16 @@ public void testOuterJoinNullUnionView() throws Exception{
"SELECT v1.k FROM test_view AS v1 LEFT OUTER JOIN test_view AS v2 ON v1.k=v2.k";
dorisAssert.query(sql).explainQuery();
}

@Test
public void testDataGripSupport() throws Exception {
String sql = "select schema();";
dorisAssert.query(sql).explainQuery();
sql = "select\n" +
"collation_name,\n" +
"character_set_name,\n" +
"is_default collate utf8_general_ci = 'Yes' as is_default\n" +
"from information_schema.collations";
dorisAssert.query(sql).explainQuery();
}
}