[
https://issues.apache.org/jira/browse/CASSANDRA-18965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luis E Fernandez updated CASSANDRA-18965:
-----------------------------------------
Description:
*System configuration and information:*
Single node Cassandra with Accord transactions enabled running on docker
Built from commit:
[a7cd114435704b988c81f47ef53d0bfd6441f38b|https://github.com/apache/cassandra/commit/a7cd114435704b988c81f47ef53d0bfd6441f38b]
CQLSH: [cqlsh 6.2.0 | Cassandra 5.0-alpha2-SNAPSHOT | CQL spec 3.4.7 | Native
protocol v5]
*Steps to reproduce in CQLSH:*
{code:java}
CREATE KEYSPACE accord WITH replication = {'class': 'SimpleStrategy',
'replication_factor': '1'} AND durable_writes = true;{code}
{code:java}
CREATE TABLE accord.accounts (
partition_key text,
account_id int,
balance int,
PRIMARY KEY (partition_key, account_id)
) WITH CLUSTERING ORDER BY (account_id ASC){code}
{code:java}
INSERT INTO accord.accounts (partition_key, account_id, balance) VALUES
('default', 1, 1000);{code}
bug happens after executing the following statement:
After assigning a variable within the transaction block, we are attempting to
perform arithmetic operations in the next SELECT statement. Without the
arithmetic operation, the SELECT statement is valid. Instead of reporting an
IllegalArgumentException, CQL should probably just report invalid syntax.
{code:java}
BEGIN TRANSACTION LET row = (SELECT * FROM accord.accounts WHERE partition_key
= 'default' AND account_id = 1); SELECT (row.balance + 50); COMMIT
TRANSACTION;{code}
Bug / Error:
======================================================================
{color:#de350b}SyntaxException: Failed parsing statement: [BEGIN TRANSACTION
LET row = (SELECT * FROM accord.accounts WHERE partition_key = 'default' AND
account_id = 1); SELECT (row.balance + 50); COMMIT TRANSACTION;] reason:
IllegalArgumentException tuple is null{color}
{color:#172b4d}This was found while testing Accord transactions with
[~henrik.ingo] and team.{color}
was:
*System configuration and information:*
Single node Cassandra with Accord transactions enabled running on docker
Built from commit:
[a7cd114435704b988c81f47ef53d0bfd6441f38b|https://github.com/apache/cassandra/commit/a7cd114435704b988c81f47ef53d0bfd6441f38b]
CQLSH: [cqlsh 6.2.0 | Cassandra 5.0-alpha2-SNAPSHOT | CQL spec 3.4.7 | Native
protocol v5]
*Steps to reproduce in CQLSH:*
{code:java}
CREATE KEYSPACE accord WITH replication = {'class': 'SimpleStrategy',
'replication_factor': '1'} AND durable_writes = true;{code}
{code:java}
CREATE TABLE accord.accounts (
partition_key text,
account_id int,
balance int,
PRIMARY KEY (partition_key, account_id)
) WITH CLUSTERING ORDER BY (account_id ASC){code}
{code:java}
INSERT INTO accord.accounts (partition_key, account_id, balance) VALUES
('default', 1, 1000);{code}
bug happens after executing the following statement:
After assigning a variable within the transaction block, we are attempting to
perform arithmetic operations in the next SELECT statement. Without the
arithmetic operation, the SELECT statement is valid. Instead of reporting an
IllegalArgumentException, CQL should probably just report invalid syntax.
{code:java}
BEGIN TRANSACTION LET row = (SELECT * FROM accord.accounts WHERE partition_key
= 'default' AND account_id = 1); SELECT (row.balance + 50); COMMIT
TRANSACTION;{code}
Bug / Error:
======================================================================
{color:#de350b}SyntaxException: Failed parsing statement: [BEGIN TRANSACTION
LET row = (SELECT * FROM accord.accounts WHERE partition_key = 'default' AND
account_id = 1); SELECT (row.balance + 50); COMMIT TRANSACTION;] reason:
IllegalArgumentException tuple is null{color}
{color:#172b4d}This is found while testing Accord transactions with
[~henrik.ingo] and team.{color}
> IllegalArgumentException "tuple is null" thrown for illegal syntax in cql
> transaction block
> -------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-18965
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18965
> Project: Cassandra
> Issue Type: Bug
> Components: Accord
> Reporter: Luis E Fernandez
> Priority: Normal
> Fix For: 5.x
>
>
> *System configuration and information:*
> Single node Cassandra with Accord transactions enabled running on docker
> Built from commit:
> [a7cd114435704b988c81f47ef53d0bfd6441f38b|https://github.com/apache/cassandra/commit/a7cd114435704b988c81f47ef53d0bfd6441f38b]
> CQLSH: [cqlsh 6.2.0 | Cassandra 5.0-alpha2-SNAPSHOT | CQL spec 3.4.7 | Native
> protocol v5]
>
> *Steps to reproduce in CQLSH:*
> {code:java}
> CREATE KEYSPACE accord WITH replication = {'class': 'SimpleStrategy',
> 'replication_factor': '1'} AND durable_writes = true;{code}
> {code:java}
> CREATE TABLE accord.accounts (
> partition_key text,
> account_id int,
> balance int,
> PRIMARY KEY (partition_key, account_id)
> ) WITH CLUSTERING ORDER BY (account_id ASC){code}
> {code:java}
> INSERT INTO accord.accounts (partition_key, account_id, balance) VALUES
> ('default', 1, 1000);{code}
> bug happens after executing the following statement:
> After assigning a variable within the transaction block, we are attempting to
> perform arithmetic operations in the next SELECT statement. Without the
> arithmetic operation, the SELECT statement is valid. Instead of reporting an
> IllegalArgumentException, CQL should probably just report invalid syntax.
> {code:java}
> BEGIN TRANSACTION LET row = (SELECT * FROM accord.accounts WHERE
> partition_key = 'default' AND account_id = 1); SELECT (row.balance + 50);
> COMMIT TRANSACTION;{code}
>
> Bug / Error:
> ======================================================================
> {color:#de350b}SyntaxException: Failed parsing statement: [BEGIN TRANSACTION
> LET row = (SELECT * FROM accord.accounts WHERE partition_key = 'default' AND
> account_id = 1); SELECT (row.balance + 50); COMMIT TRANSACTION;] reason:
> IllegalArgumentException tuple is null{color}
>
> {color:#172b4d}This was found while testing Accord transactions with
> [~henrik.ingo] and team.{color}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]