commit | 943921e4941282457c7b48ba0a8cd6075ddb82d7 | [log] [tgz] |
---|---|---|
author | Oliver Lee <oliverlee@google.com> | Tue Mar 14 15:15:21 2023 -0700 |
committer | olivrlee <114513231+olivrlee@users.noreply.github.com> | Tue Nov 14 17:17:19 2023 -0800 |
tree | 58482113383382b9b68ff3a621d29ace13dac354 | |
parent | 55034513b463c938035e5d2436949bbf734b84b6 [diff] |
[CALCITE-5607] Serialize return type during RelJson.toJson(RexNode node) for SqlKind.MINUS Uncovered a bug in RelJson#toRex for the TIMESTAMP_DIFF call for Big Query dialect. MINUS_DATE uses an ARG2_NULLABLE return type inference which requires 3 operands, however there are only 2 operands for BQ. The solution here is to do something similar to how we handle CAST and to add in "type" when serializing to JSON in RelJson.toJson(RexNode node) for SqlKind.MINUS so that jsonType will be defined in toRex. Co-authored-by: TJ Banghart <tjbanghart@gmail.com>
Apache Calcite is a dynamic data management framework.
It contains many of the pieces that comprise a typical database management system but omits the storage primitives. It provides an industry standard SQL parser and validator, a customisable optimizer with pluggable rules and cost functions, logical and physical algebraic operators, various transformation algorithms from SQL to algebra (and the opposite), and many adapters for executing SQL queries over Cassandra, Druid, Elasticsearch, MongoDB, Kafka, and others, with minimal configuration.
For more details, see the home page.
The project uses JIRA for issue tracking. For further information, please see the JIRA accounts guide.