Skip to content

Commit

Permalink
[Feature] Support trino current_catalog and current_schema function (…
Browse files Browse the repository at this point in the history
…backport #41319) (#41495)

Co-authored-by: hongyu guo <[email protected]>
  • Loading branch information
mergify[bot] and macroguo-ghy authored Feb 23, 2024
1 parent bcce25e commit e134338
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@
import io.trino.sql.tree.CoalesceExpression;
import io.trino.sql.tree.ComparisonExpression;
import io.trino.sql.tree.Cube;
import io.trino.sql.tree.CurrentCatalog;
import io.trino.sql.tree.CurrentSchema;
import io.trino.sql.tree.CurrentTime;
import io.trino.sql.tree.CurrentUser;
import io.trino.sql.tree.DataType;
Expand Down Expand Up @@ -1099,6 +1101,16 @@ protected ParseNode visitCurrentTime(CurrentTime node, ParseTreeContext context)
return new FunctionCallExpr(node.getFunction().getName(), new ArrayList<>());
}

@Override
protected ParseNode visitCurrentCatalog(CurrentCatalog node, ParseTreeContext context) {
return new InformationFunction(FunctionSet.CATALOG.toUpperCase());
}

@Override
protected ParseNode visitCurrentSchema(CurrentSchema node, ParseTreeContext context) {
return new InformationFunction(FunctionSet.SCHEMA.toUpperCase());
}

@Override
protected ParseNode visitSearchedCaseExpression(SearchedCaseExpression node, ParseTreeContext context) {
return new CaseExpr(null, visit(node.getWhenClauses(), context, CaseWhenClause.class),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -404,4 +404,13 @@ public void testIsNullFunction() throws Exception {
sql = "select isnotnull(1, 2)";
analyzeFail(sql, "isnotnull function must have 1 argument");
}

@Test
public void testUtilityFunction() throws Exception {
String sql = "select current_catalog";
assertPlanContains(sql, "<slot 2> : CATALOG()");

sql = "select current_schema";
assertPlanContains(sql, "<slot 2> : 'test'");
}
}

0 comments on commit e134338

Please sign in to comment.