Aleksey Plekhanov created IGNITE-20353: ------------------------------------------
Summary: Calcite engine. Clause 'WITH affinity_key=...' silently ignored when wrong column is specified Key: IGNITE-20353 URL: https://issues.apache.org/jira/browse/IGNITE-20353 Project: Ignite Issue Type: Bug Reporter: Aleksey Plekhanov Assignee: Aleksey Plekhanov Calcite-based SQL engine silently ignore clause WITH affinity_key=... when wrong column is specified. H2-based engine in this case throw an error: {noformat} org.apache.ignite.internal.processors.query.IgniteSQLException: Affinity key column with given name not found: test {noformat} Reproducer: {code:sql} CREATE TABLE order_items (id varchar, orderId int, sku varchar, PRIMARY KEY (id, orderId) WITH "affinity_key=test"); {code} Also, there is some problem with case-sensitivity, for example: {code:sql} CREATE TABLE order_items (id varchar, orderId int, sku varchar, PRIMARY KEY (id, orderId) WITH "affinity_key=orderId"); {code} Works well for H2-based engine ({{orderId}} in {{affinity_key}} converted to {{ORDERID}} and matches {{orderId}} columns alias), but silently ignired for Calcite-based engine ({{orderId}} in {{affinity_key}} remains without case change). But: {code:sql} CREATE TABLE order_items (id varchar, orderId int, sku varchar, PRIMARY KEY (id, orderId) WITH "affinity_key=ORDERID"); {code} Works well for both engines. -- This message was sent by Atlassian Jira (v8.20.10#820010)