Hi Calcite dev,

I’m working on adding support for more PostgreSQL functions based on PostgreSQL 
14 – See https://issues.apache.org/jira/browse/CALCITE-6308.

Some functions such as LOG have different semantics depending on which database 
is used:

  *   In PostgreSQL, LOG with one argument is to base e while in BigQuery it is 
to base 10.
  *   In PostgreSQL, LOG with two arguments has the arguments in the reverse 
order as BigQuery.

Other functions support fewer arguments depending on the database:

  *   REGEXP_LIKE in PostgreSQL allows an optional extra parameter to specify a 
string of flags.

What would be the right way to model this? Would an approach similar to 
FLOOR/CEIL be best? In that, if the parser encounters FLOOR/CEIL arguments, it 
calls a function which returns a different SqlOperator depending on the 
conformance for the parser.

Thanks,
James

Reply via email to