commit | a250ab0de827f221eb0bec780f5454f33cd7e782 | [log] [tgz] |
---|---|---|
author | Julian Hyde <jhyde@apache.org> | Wed Sep 22 23:40:00 2021 -0700 |
committer | Julian Hyde <jhyde@apache.org> | Wed Oct 13 10:22:42 2021 -0700 |
tree | 50f74327f3e28a0676b10c56d6c2f837e8ca71d3 | |
parent | 342aeba1087857df48891655cf0de41d5f3479c7 [diff] |
[CALCITE-4795] In class SqlBasicCall, make the "operands" field private (part 1) In class SqlBasicCall, the operands field is currently a public array. This gives too much freedom for clients to do crazy things, and creates unexpected behavior because the array is not copied when a SqlBasicCall is cloned. We would like to make the first private, but that would be a breaking change, so we must do it over two releases. This is part 1: deprecate the "operands" field; after 1.28, part 2 will make the "operands" field private, and also change it from an array to an immutable List. You will still be able to call SqlCall.setOperand, but the whole new List will be created.
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.