[ https://issues.apache.org/jira/browse/CASSANDRA-10272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14734457#comment-14734457 ]
Vovodroid commented on CASSANDRA-10272: --------------------------------------- I added one print to cqlhandling.py {code} if len(stmt) > 2: print stmt[0][0] + ' '+ stmt[-3][0] if stmt[-3][0] == 'apply': in_batch = False elif stmt[0][0] == 'begin': in_batch = True {code} and run {code}./cqlsh -e "BEGIN BATCH INSERT INTO excelsior.data (id) VALUES (0); APPLY BATCH ;"{code} Result is {code} identifier wholenumber identifier identifier {code} So obviously it's neither 'apply' nor 'begin', thus *in_batch* variable is not changed. While before merge it was {code} K_BEGIN wholenumber K_APPLY K_APPLY {code} and it was rightfully compared to 'K_BEGIN' and 'K_APPLY'. So probably something wrong with parsing. > 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 > Assignee: Ryan McGuire > Priority: Minor > > 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. > 3.0-beta2-tentative also affected. -- This message was sent by Atlassian JIRA (v6.3.4#6332)