Hi, xiaochen~ As mentioned in calcite-5225, you can add it to SqlLibraryOperators. If you have many functions to add, create your SqlOperatorTable and use ChainedSqlOperatorTable is a more suitable way. For example, https://github.com/apache/calcite/blob/0e57722208d842a1192f38f28c2a379ae88dcdf0/testkit/src/main/java/org/apache/calcite/test/MockSqlOperatorTable.java#L87
In addition, I noticed that you use core SQL parser instead of Babel SQL parser. Babel SQL parser is used to accept common dialects such as Oracle, MySQL, PostgreSQL, BigQuery. Here is babel parser config: ``` SqlParser.Config c = SqlParser.config() .withConformance(SqlConformanceEnum.BABEL) .withParserFactory(SqlBabelParserImpl.FACTORY); ```