Vovodroid created CASSANDRA-10272:
-------------------------------------
Summary: BATCH statement is broken
Key: CASSANDRA-10272
URL: https://issues.apache.org/jira/browse/CASSANDRA-10272
Project: Cassandra
Issue Type: Bug
Components: Core
Environment: CentOS 7.1/x64
Reporter: Vovodroid
Priority: Blocker
BEGIN BATCH .... APPLY BATCH is not parsed correctly.
Steps:
{code}
CREATE KEYSPACE Excelsior WITH
REPLICATION={'class':'SimpleStrategy','replication_factor':1};
CREATE TABLE excelsior.data (id int primary key);
BEGIN BATCH INSERT INTO excelsior.data (id) VALUES (0); APPLY BATCH ;
{code}
Error
{code}
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query]
message="line 0:-1 mismatched input '<EOF>' expecting K_APPLY">
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query]
message="line 1:0 no viable alternative at input 'APPLY' ([APPLY]...)">
{code}
While
{code}
BEGIN BATCH INSERT INTO excelsior.data (id) VALUES (0) APPLY BATCH ;
{code}
without *;* after insert works.
Consequently neither
{code}
BEGIN BATCH INSERT INTO excelsior.data (id) VALUES (0);INSERT INTO
excelsior.data (id) VALUES (0); APPLY BATCH ;
{code}
Error:
{code}
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query]
message="line 0:-1 mismatched input '<EOF>' expecting K_APPLY">
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query]
message="line 1:0 no viable alternative at input 'APPLY' ([APPLY]...)">
{code}
nor
{code}
BEGIN BATCH INSERT INTO excelsior.data (id) VALUES (0);INSERT INTO
excelsior.data (id) VALUES (0) APPLY BATCH ;
{code}
Error
{code}
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query]
message="line 0:-1 mismatched input '<EOF>' expecting K_APPLY">
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query]
message="line 1:43 missing EOF at 'APPLY' (...(id) VALUES (0) [APPLY]
BATCH...)">
{code}
works.
It was OK in 2.2.0 and 3.0 beta 1.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)