
org.apache.cassandra.cql3.Cql_Parser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cassandra-all Show documentation
Show all versions of cassandra-all Show documentation
The Apache Cassandra Project develops a highly scalable second-generation distributed database, bringing together Dynamo's fully distributed design and Bigtable's ColumnFamily-based data model.
// $ANTLR 3.5.2 Parser.g 2023-09-04 17:30:19
package org.apache.cassandra.cql3;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.cassandra.auth.*;
import org.apache.cassandra.cql3.conditions.*;
import org.apache.cassandra.cql3.functions.*;
import org.apache.cassandra.cql3.functions.masking.*;
import org.apache.cassandra.cql3.restrictions.CustomIndexExpression;
import org.apache.cassandra.cql3.selection.*;
import org.apache.cassandra.cql3.statements.*;
import org.apache.cassandra.cql3.statements.schema.*;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.exceptions.SyntaxException;
import org.apache.cassandra.schema.ColumnMetadata;
import org.apache.cassandra.utils.Pair;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@SuppressWarnings("all")
public class Cql_Parser extends Parser {
public static final int EOF=-1;
public static final int T__206=206;
public static final int T__207=207;
public static final int T__208=208;
public static final int T__209=209;
public static final int T__210=210;
public static final int T__211=211;
public static final int T__212=212;
public static final int T__213=213;
public static final int T__214=214;
public static final int T__215=215;
public static final int T__216=216;
public static final int T__217=217;
public static final int T__218=218;
public static final int T__219=219;
public static final int T__220=220;
public static final int T__221=221;
public static final int T__222=222;
public static final int T__223=223;
public static final int T__224=224;
public static final int T__225=225;
public static final int T__226=226;
public static final int T__227=227;
public static final int T__228=228;
public static final int T__229=229;
public static final int A=4;
public static final int B=5;
public static final int BOOLEAN=6;
public static final int C=7;
public static final int COMMENT=8;
public static final int D=9;
public static final int DIGIT=10;
public static final int DURATION=11;
public static final int DURATION_ISO_8601_PERIOD_DESIGNATORS=12;
public static final int DURATION_ISO_8601_TIME_DESIGNATORS=13;
public static final int DURATION_ISO_8601_WEEK_PERIOD_DESIGNATOR=14;
public static final int DURATION_UNIT=15;
public static final int E=16;
public static final int EMPTY_QUOTED_NAME=17;
public static final int EXPONENT=18;
public static final int F=19;
public static final int FLOAT=20;
public static final int G=21;
public static final int H=22;
public static final int HEX=23;
public static final int HEXNUMBER=24;
public static final int I=25;
public static final int IDENT=26;
public static final int INTEGER=27;
public static final int J=28;
public static final int K=29;
public static final int K_ACCESS=30;
public static final int K_ADD=31;
public static final int K_AGGREGATE=32;
public static final int K_AGGREGATES=33;
public static final int K_ALL=34;
public static final int K_ALLOW=35;
public static final int K_ALTER=36;
public static final int K_AND=37;
public static final int K_APPLY=38;
public static final int K_AS=39;
public static final int K_ASC=40;
public static final int K_ASCII=41;
public static final int K_AUTHORIZE=42;
public static final int K_BATCH=43;
public static final int K_BEGIN=44;
public static final int K_BIGINT=45;
public static final int K_BLOB=46;
public static final int K_BOOLEAN=47;
public static final int K_BY=48;
public static final int K_CALLED=49;
public static final int K_CAST=50;
public static final int K_CIDRS=51;
public static final int K_CLUSTER=52;
public static final int K_CLUSTERING=53;
public static final int K_COLUMNFAMILY=54;
public static final int K_COMPACT=55;
public static final int K_CONTAINS=56;
public static final int K_COUNT=57;
public static final int K_COUNTER=58;
public static final int K_CREATE=59;
public static final int K_CUSTOM=60;
public static final int K_DATACENTERS=61;
public static final int K_DATE=62;
public static final int K_DECIMAL=63;
public static final int K_DEFAULT=64;
public static final int K_DELETE=65;
public static final int K_DESC=66;
public static final int K_DESCRIBE=67;
public static final int K_DISTINCT=68;
public static final int K_DOUBLE=69;
public static final int K_DROP=70;
public static final int K_DURATION=71;
public static final int K_ENTRIES=72;
public static final int K_EXECUTE=73;
public static final int K_EXISTS=74;
public static final int K_FILTERING=75;
public static final int K_FINALFUNC=76;
public static final int K_FLOAT=77;
public static final int K_FROM=78;
public static final int K_FROZEN=79;
public static final int K_FULL=80;
public static final int K_FUNCTION=81;
public static final int K_FUNCTIONS=82;
public static final int K_GRANT=83;
public static final int K_GROUP=84;
public static final int K_HASHED=85;
public static final int K_IDENTITY=86;
public static final int K_IF=87;
public static final int K_IN=88;
public static final int K_INDEX=89;
public static final int K_INET=90;
public static final int K_INITCOND=91;
public static final int K_INPUT=92;
public static final int K_INSERT=93;
public static final int K_INT=94;
public static final int K_INTERNALS=95;
public static final int K_INTO=96;
public static final int K_IS=97;
public static final int K_JSON=98;
public static final int K_KEY=99;
public static final int K_KEYS=100;
public static final int K_KEYSPACE=101;
public static final int K_KEYSPACES=102;
public static final int K_LANGUAGE=103;
public static final int K_LIKE=104;
public static final int K_LIMIT=105;
public static final int K_LIST=106;
public static final int K_LOGIN=107;
public static final int K_MAP=108;
public static final int K_MASKED=109;
public static final int K_MATERIALIZED=110;
public static final int K_MAXWRITETIME=111;
public static final int K_MBEAN=112;
public static final int K_MBEANS=113;
public static final int K_MODIFY=114;
public static final int K_NEGATIVE_INFINITY=115;
public static final int K_NEGATIVE_NAN=116;
public static final int K_NOLOGIN=117;
public static final int K_NORECURSIVE=118;
public static final int K_NOSUPERUSER=119;
public static final int K_NOT=120;
public static final int K_NULL=121;
public static final int K_OF=122;
public static final int K_ON=123;
public static final int K_ONLY=124;
public static final int K_OPTIONS=125;
public static final int K_OR=126;
public static final int K_ORDER=127;
public static final int K_PARTITION=128;
public static final int K_PASSWORD=129;
public static final int K_PER=130;
public static final int K_PERMISSION=131;
public static final int K_PERMISSIONS=132;
public static final int K_POSITIVE_INFINITY=133;
public static final int K_POSITIVE_NAN=134;
public static final int K_PRIMARY=135;
public static final int K_RENAME=136;
public static final int K_REPLACE=137;
public static final int K_RETURNS=138;
public static final int K_REVOKE=139;
public static final int K_ROLE=140;
public static final int K_ROLES=141;
public static final int K_SCHEMA=142;
public static final int K_SELECT=143;
public static final int K_SELECT_MASKED=144;
public static final int K_SET=145;
public static final int K_SFUNC=146;
public static final int K_SMALLINT=147;
public static final int K_STATIC=148;
public static final int K_STORAGE=149;
public static final int K_STYPE=150;
public static final int K_SUPERUSER=151;
public static final int K_TABLES=152;
public static final int K_TEXT=153;
public static final int K_TIME=154;
public static final int K_TIMESTAMP=155;
public static final int K_TIMEUUID=156;
public static final int K_TINYINT=157;
public static final int K_TO=158;
public static final int K_TOKEN=159;
public static final int K_TRIGGER=160;
public static final int K_TRUNCATE=161;
public static final int K_TTL=162;
public static final int K_TUPLE=163;
public static final int K_TYPE=164;
public static final int K_TYPES=165;
public static final int K_UNLOGGED=166;
public static final int K_UNMASK=167;
public static final int K_UNSET=168;
public static final int K_UPDATE=169;
public static final int K_USE=170;
public static final int K_USER=171;
public static final int K_USERS=172;
public static final int K_USING=173;
public static final int K_UUID=174;
public static final int K_VALUES=175;
public static final int K_VARCHAR=176;
public static final int K_VARINT=177;
public static final int K_VECTOR=178;
public static final int K_VIEW=179;
public static final int K_WHERE=180;
public static final int K_WITH=181;
public static final int K_WRITETIME=182;
public static final int L=183;
public static final int LETTER=184;
public static final int M=185;
public static final int MULTILINE_COMMENT=186;
public static final int N=187;
public static final int O=188;
public static final int P=189;
public static final int Q=190;
public static final int QMARK=191;
public static final int QUOTED_NAME=192;
public static final int R=193;
public static final int RANGE=194;
public static final int S=195;
public static final int STRING_LITERAL=196;
public static final int T=197;
public static final int U=198;
public static final int UUID=199;
public static final int V=200;
public static final int W=201;
public static final int WS=202;
public static final int X=203;
public static final int Y=204;
public static final int Z=205;
// delegates
public Parser[] getDelegates() {
return new Parser[] {};
}
// delegators
public CqlParser gCql;
public CqlParser gParent;
public Cql_Parser(TokenStream input, CqlParser gCql) {
this(input, new RecognizerSharedState(), gCql);
}
public Cql_Parser(TokenStream input, RecognizerSharedState state, CqlParser gCql) {
super(input, state);
this.gCql = gCql;
gParent = gCql;
}
@Override public String[] getTokenNames() { return CqlParser.tokenNames; }
@Override public String getGrammarFileName() { return "Parser.g"; }
private final List listeners = new ArrayList();
protected final List bindVariables = new ArrayList();
public static final Set reservedTypeNames = new HashSet()
{{
add("byte");
add("complex");
add("enum");
add("date");
add("interval");
add("macaddr");
add("bitstring");
}};
public AbstractMarker.Raw newBindVariables(ColumnIdentifier name)
{
AbstractMarker.Raw marker = new AbstractMarker.Raw(bindVariables.size());
bindVariables.add(name);
return marker;
}
public AbstractMarker.INRaw newINBindVariables(ColumnIdentifier name)
{
AbstractMarker.INRaw marker = new AbstractMarker.INRaw(bindVariables.size());
bindVariables.add(name);
return marker;
}
public Tuples.Raw newTupleBindVariables(ColumnIdentifier name)
{
Tuples.Raw marker = new Tuples.Raw(bindVariables.size());
bindVariables.add(name);
return marker;
}
public Tuples.INRaw newTupleINBindVariables(ColumnIdentifier name)
{
Tuples.INRaw marker = new Tuples.INRaw(bindVariables.size());
bindVariables.add(name);
return marker;
}
public Json.Marker newJsonBindVariables(ColumnIdentifier name)
{
Json.Marker marker = new Json.Marker(bindVariables.size());
bindVariables.add(name);
return marker;
}
public void addErrorListener(ErrorListener listener)
{
this.listeners.add(listener);
}
public void removeErrorListener(ErrorListener listener)
{
this.listeners.remove(listener);
}
public void displayRecognitionError(String[] tokenNames, RecognitionException e)
{
for (int i = 0, m = listeners.size(); i < m; i++)
listeners.get(i).syntaxError(this, tokenNames, e);
}
protected void addRecognitionError(String msg)
{
for (int i = 0, m = listeners.size(); i < m; i++)
listeners.get(i).syntaxError(this, msg);
}
public Map convertPropertyMap(Maps.Literal map)
{
if (map == null || map.entries == null || map.entries.isEmpty())
return Collections.emptyMap();
Map res = new HashMap<>(map.entries.size());
for (Pair entry : map.entries)
{
// Because the parser tries to be smart and recover on error (to
// allow displaying more than one error I suppose), we have null
// entries in there. Just skip those, a proper error will be thrown in the end.
if (entry.left == null || entry.right == null)
break;
if (!(entry.left instanceof Constants.Literal))
{
String msg = "Invalid property name: " + entry.left;
if (entry.left instanceof AbstractMarker.Raw)
msg += " (bind variables are not supported in DDL queries)";
addRecognitionError(msg);
break;
}
if (!(entry.right instanceof Constants.Literal))
{
String msg = "Invalid property value: " + entry.right + " for property: " + entry.left;
if (entry.right instanceof AbstractMarker.Raw)
msg += " (bind variables are not supported in DDL queries)";
addRecognitionError(msg);
break;
}
if (res.put(((Constants.Literal)entry.left).getRawText(), ((Constants.Literal)entry.right).getRawText()) != null)
{
addRecognitionError(String.format("Multiple definition for property " + ((Constants.Literal)entry.left).getRawText()));
}
}
return res;
}
public void addRawUpdate(List> operations, ColumnIdentifier key, Operation.RawUpdate update)
{
for (Pair p : operations)
{
if (p.left.equals(key) && !p.right.isCompatibleWith(update))
addRecognitionError("Multiple incompatible setting of column " + key);
}
operations.add(Pair.create(key, update));
}
public Set filterPermissions(Set permissions, IResource resource)
{
if (resource == null)
return Collections.emptySet();
Set filtered = new HashSet<>(permissions);
filtered.retainAll(resource.applicablePermissions());
if (filtered.isEmpty())
addRecognitionError("Resource type " + resource.getClass().getSimpleName() +
" does not support any of the requested permissions");
return filtered;
}
public String canonicalizeObjectName(String s, boolean enforcePattern)
{
// these two conditions are here because technically they are valid
// ObjectNames, but we want to restrict their use without adding unnecessary
// work to JMXResource construction as that also happens on hotter code paths
if ("".equals(s))
addRecognitionError("Empty JMX object name supplied");
if ("*:*".equals(s))
addRecognitionError("Please use ALL MBEANS instead of wildcard pattern");
try
{
javax.management.ObjectName objectName = javax.management.ObjectName.getInstance(s);
if (enforcePattern && !objectName.isPattern())
addRecognitionError("Plural form used, but non-pattern JMX object name specified (" + s + ")");
return objectName.getCanonicalName();
}
catch (javax.management.MalformedObjectNameException e)
{
addRecognitionError(s + " is not a valid JMX object name");
return s;
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Recovery methods are overridden to avoid wasting work on recovering from errors when the result will be
// ignored anyway.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@Override
protected Object recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow) throws RecognitionException
{
throw new MismatchedTokenException(ttype, input);
}
@Override
public void recover(IntStream input, RecognitionException re)
{
// Do nothing.
}
// $ANTLR start "cqlStatement"
// Parser.g:207:1: cqlStatement returns [CQLStatement.Raw stmt] : (st1= selectStatement |st2= insertStatement |st3= updateStatement |st4= batchStatement |st5= deleteStatement |st6= useStatement |st7= truncateStatement |st8= createKeyspaceStatement |st9= createTableStatement |st10= createIndexStatement |st11= dropKeyspaceStatement |st12= dropTableStatement |st13= dropIndexStatement |st14= alterTableStatement |st15= alterKeyspaceStatement |st16= grantPermissionsStatement |st17= revokePermissionsStatement |st18= listPermissionsStatement |st19= createUserStatement |st20= alterUserStatement |st21= dropUserStatement |st22= listUsersStatement |st23= createTriggerStatement |st24= dropTriggerStatement |st25= createTypeStatement |st26= alterTypeStatement |st27= dropTypeStatement |st28= createFunctionStatement |st29= dropFunctionStatement |st30= createAggregateStatement |st31= dropAggregateStatement |st32= createRoleStatement |st33= alterRoleStatement |st34= dropRoleStatement |st35= listRolesStatement |st36= grantRoleStatement |st37= revokeRoleStatement |st38= createMaterializedViewStatement |st39= dropMaterializedViewStatement |st40= alterMaterializedViewStatement |st41= describeStatement |st42= addIdentityStatement |st43= dropIdentityStatement );
public final CQLStatement.Raw cqlStatement() throws RecognitionException {
CQLStatement.Raw stmt = null;
SelectStatement.RawStatement st1 =null;
ModificationStatement.Parsed st2 =null;
UpdateStatement.ParsedUpdate st3 =null;
BatchStatement.Parsed st4 =null;
DeleteStatement.Parsed st5 =null;
UseStatement st6 =null;
TruncateStatement st7 =null;
CreateKeyspaceStatement.Raw st8 =null;
CreateTableStatement.Raw st9 =null;
CreateIndexStatement.Raw st10 =null;
DropKeyspaceStatement.Raw st11 =null;
DropTableStatement.Raw st12 =null;
DropIndexStatement.Raw st13 =null;
AlterTableStatement.Raw st14 =null;
AlterKeyspaceStatement.Raw st15 =null;
GrantPermissionsStatement st16 =null;
RevokePermissionsStatement st17 =null;
ListPermissionsStatement st18 =null;
CreateRoleStatement st19 =null;
AlterRoleStatement st20 =null;
DropRoleStatement st21 =null;
ListRolesStatement st22 =null;
CreateTriggerStatement.Raw st23 =null;
DropTriggerStatement.Raw st24 =null;
CreateTypeStatement.Raw st25 =null;
AlterTypeStatement.Raw st26 =null;
DropTypeStatement.Raw st27 =null;
CreateFunctionStatement.Raw st28 =null;
DropFunctionStatement.Raw st29 =null;
CreateAggregateStatement.Raw st30 =null;
DropAggregateStatement.Raw st31 =null;
CreateRoleStatement st32 =null;
AlterRoleStatement st33 =null;
DropRoleStatement st34 =null;
ListRolesStatement st35 =null;
GrantRoleStatement st36 =null;
RevokeRoleStatement st37 =null;
CreateViewStatement.Raw st38 =null;
DropViewStatement.Raw st39 =null;
AlterViewStatement.Raw st40 =null;
DescribeStatement st41 =null;
AddIdentityStatement st42 =null;
DropIdentityStatement st43 =null;
try {
// Parser.g:209:5: (st1= selectStatement |st2= insertStatement |st3= updateStatement |st4= batchStatement |st5= deleteStatement |st6= useStatement |st7= truncateStatement |st8= createKeyspaceStatement |st9= createTableStatement |st10= createIndexStatement |st11= dropKeyspaceStatement |st12= dropTableStatement |st13= dropIndexStatement |st14= alterTableStatement |st15= alterKeyspaceStatement |st16= grantPermissionsStatement |st17= revokePermissionsStatement |st18= listPermissionsStatement |st19= createUserStatement |st20= alterUserStatement |st21= dropUserStatement |st22= listUsersStatement |st23= createTriggerStatement |st24= dropTriggerStatement |st25= createTypeStatement |st26= alterTypeStatement |st27= dropTypeStatement |st28= createFunctionStatement |st29= dropFunctionStatement |st30= createAggregateStatement |st31= dropAggregateStatement |st32= createRoleStatement |st33= alterRoleStatement |st34= dropRoleStatement |st35= listRolesStatement |st36= grantRoleStatement |st37= revokeRoleStatement |st38= createMaterializedViewStatement |st39= dropMaterializedViewStatement |st40= alterMaterializedViewStatement |st41= describeStatement |st42= addIdentityStatement |st43= dropIdentityStatement )
int alt1=43;
alt1 = dfa1.predict(input);
switch (alt1) {
case 1 :
// Parser.g:209:7: st1= selectStatement
{
pushFollow(FOLLOW_selectStatement_in_cqlStatement59);
st1=selectStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st1; }
}
break;
case 2 :
// Parser.g:210:7: st2= insertStatement
{
pushFollow(FOLLOW_insertStatement_in_cqlStatement88);
st2=insertStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st2; }
}
break;
case 3 :
// Parser.g:211:7: st3= updateStatement
{
pushFollow(FOLLOW_updateStatement_in_cqlStatement117);
st3=updateStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st3; }
}
break;
case 4 :
// Parser.g:212:7: st4= batchStatement
{
pushFollow(FOLLOW_batchStatement_in_cqlStatement146);
st4=batchStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st4; }
}
break;
case 5 :
// Parser.g:213:7: st5= deleteStatement
{
pushFollow(FOLLOW_deleteStatement_in_cqlStatement176);
st5=deleteStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st5; }
}
break;
case 6 :
// Parser.g:214:7: st6= useStatement
{
pushFollow(FOLLOW_useStatement_in_cqlStatement205);
st6=useStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st6; }
}
break;
case 7 :
// Parser.g:215:7: st7= truncateStatement
{
pushFollow(FOLLOW_truncateStatement_in_cqlStatement237);
st7=truncateStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st7; }
}
break;
case 8 :
// Parser.g:216:7: st8= createKeyspaceStatement
{
pushFollow(FOLLOW_createKeyspaceStatement_in_cqlStatement264);
st8=createKeyspaceStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st8; }
}
break;
case 9 :
// Parser.g:217:7: st9= createTableStatement
{
pushFollow(FOLLOW_createTableStatement_in_cqlStatement285);
st9=createTableStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st9; }
}
break;
case 10 :
// Parser.g:218:7: st10= createIndexStatement
{
pushFollow(FOLLOW_createIndexStatement_in_cqlStatement308);
st10=createIndexStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st10; }
}
break;
case 11 :
// Parser.g:219:7: st11= dropKeyspaceStatement
{
pushFollow(FOLLOW_dropKeyspaceStatement_in_cqlStatement331);
st11=dropKeyspaceStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st11; }
}
break;
case 12 :
// Parser.g:220:7: st12= dropTableStatement
{
pushFollow(FOLLOW_dropTableStatement_in_cqlStatement353);
st12=dropTableStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st12; }
}
break;
case 13 :
// Parser.g:221:7: st13= dropIndexStatement
{
pushFollow(FOLLOW_dropIndexStatement_in_cqlStatement378);
st13=dropIndexStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st13; }
}
break;
case 14 :
// Parser.g:222:7: st14= alterTableStatement
{
pushFollow(FOLLOW_alterTableStatement_in_cqlStatement403);
st14=alterTableStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st14; }
}
break;
case 15 :
// Parser.g:223:7: st15= alterKeyspaceStatement
{
pushFollow(FOLLOW_alterKeyspaceStatement_in_cqlStatement427);
st15=alterKeyspaceStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st15; }
}
break;
case 16 :
// Parser.g:224:7: st16= grantPermissionsStatement
{
pushFollow(FOLLOW_grantPermissionsStatement_in_cqlStatement448);
st16=grantPermissionsStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st16; }
}
break;
case 17 :
// Parser.g:225:7: st17= revokePermissionsStatement
{
pushFollow(FOLLOW_revokePermissionsStatement_in_cqlStatement466);
st17=revokePermissionsStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st17; }
}
break;
case 18 :
// Parser.g:226:7: st18= listPermissionsStatement
{
pushFollow(FOLLOW_listPermissionsStatement_in_cqlStatement483);
st18=listPermissionsStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st18; }
}
break;
case 19 :
// Parser.g:227:7: st19= createUserStatement
{
pushFollow(FOLLOW_createUserStatement_in_cqlStatement502);
st19=createUserStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st19; }
}
break;
case 20 :
// Parser.g:228:7: st20= alterUserStatement
{
pushFollow(FOLLOW_alterUserStatement_in_cqlStatement526);
st20=alterUserStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st20; }
}
break;
case 21 :
// Parser.g:229:7: st21= dropUserStatement
{
pushFollow(FOLLOW_dropUserStatement_in_cqlStatement551);
st21=dropUserStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st21; }
}
break;
case 22 :
// Parser.g:230:7: st22= listUsersStatement
{
pushFollow(FOLLOW_listUsersStatement_in_cqlStatement577);
st22=listUsersStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st22; }
}
break;
case 23 :
// Parser.g:231:7: st23= createTriggerStatement
{
pushFollow(FOLLOW_createTriggerStatement_in_cqlStatement602);
st23=createTriggerStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st23; }
}
break;
case 24 :
// Parser.g:232:7: st24= dropTriggerStatement
{
pushFollow(FOLLOW_dropTriggerStatement_in_cqlStatement623);
st24=dropTriggerStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st24; }
}
break;
case 25 :
// Parser.g:233:7: st25= createTypeStatement
{
pushFollow(FOLLOW_createTypeStatement_in_cqlStatement646);
st25=createTypeStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st25; }
}
break;
case 26 :
// Parser.g:234:7: st26= alterTypeStatement
{
pushFollow(FOLLOW_alterTypeStatement_in_cqlStatement670);
st26=alterTypeStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st26; }
}
break;
case 27 :
// Parser.g:235:7: st27= dropTypeStatement
{
pushFollow(FOLLOW_dropTypeStatement_in_cqlStatement695);
st27=dropTypeStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st27; }
}
break;
case 28 :
// Parser.g:236:7: st28= createFunctionStatement
{
pushFollow(FOLLOW_createFunctionStatement_in_cqlStatement721);
st28=createFunctionStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st28; }
}
break;
case 29 :
// Parser.g:237:7: st29= dropFunctionStatement
{
pushFollow(FOLLOW_dropFunctionStatement_in_cqlStatement741);
st29=dropFunctionStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st29; }
}
break;
case 30 :
// Parser.g:238:7: st30= createAggregateStatement
{
pushFollow(FOLLOW_createAggregateStatement_in_cqlStatement763);
st30=createAggregateStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st30; }
}
break;
case 31 :
// Parser.g:239:7: st31= dropAggregateStatement
{
pushFollow(FOLLOW_dropAggregateStatement_in_cqlStatement782);
st31=dropAggregateStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st31; }
}
break;
case 32 :
// Parser.g:240:7: st32= createRoleStatement
{
pushFollow(FOLLOW_createRoleStatement_in_cqlStatement803);
st32=createRoleStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st32; }
}
break;
case 33 :
// Parser.g:241:7: st33= alterRoleStatement
{
pushFollow(FOLLOW_alterRoleStatement_in_cqlStatement827);
st33=alterRoleStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st33; }
}
break;
case 34 :
// Parser.g:242:7: st34= dropRoleStatement
{
pushFollow(FOLLOW_dropRoleStatement_in_cqlStatement852);
st34=dropRoleStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st34; }
}
break;
case 35 :
// Parser.g:243:7: st35= listRolesStatement
{
pushFollow(FOLLOW_listRolesStatement_in_cqlStatement878);
st35=listRolesStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st35; }
}
break;
case 36 :
// Parser.g:244:7: st36= grantRoleStatement
{
pushFollow(FOLLOW_grantRoleStatement_in_cqlStatement903);
st36=grantRoleStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st36; }
}
break;
case 37 :
// Parser.g:245:7: st37= revokeRoleStatement
{
pushFollow(FOLLOW_revokeRoleStatement_in_cqlStatement928);
st37=revokeRoleStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st37; }
}
break;
case 38 :
// Parser.g:246:7: st38= createMaterializedViewStatement
{
pushFollow(FOLLOW_createMaterializedViewStatement_in_cqlStatement952);
st38=createMaterializedViewStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st38; }
}
break;
case 39 :
// Parser.g:247:7: st39= dropMaterializedViewStatement
{
pushFollow(FOLLOW_dropMaterializedViewStatement_in_cqlStatement964);
st39=dropMaterializedViewStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st39; }
}
break;
case 40 :
// Parser.g:248:7: st40= alterMaterializedViewStatement
{
pushFollow(FOLLOW_alterMaterializedViewStatement_in_cqlStatement978);
st40=alterMaterializedViewStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st40; }
}
break;
case 41 :
// Parser.g:249:7: st41= describeStatement
{
pushFollow(FOLLOW_describeStatement_in_cqlStatement991);
st41=describeStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st41; }
}
break;
case 42 :
// Parser.g:250:7: st42= addIdentityStatement
{
pushFollow(FOLLOW_addIdentityStatement_in_cqlStatement1017);
st42=addIdentityStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st42; }
}
break;
case 43 :
// Parser.g:251:7: st43= dropIdentityStatement
{
pushFollow(FOLLOW_dropIdentityStatement_in_cqlStatement1040);
st43=dropIdentityStatement();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = st43; }
}
break;
}
if ( state.backtracking==0 ) { if (stmt != null) stmt.setBindVariables(bindVariables); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "cqlStatement"
// $ANTLR start "useStatement"
// Parser.g:257:1: useStatement returns [UseStatement stmt] : K_USE ks= keyspaceName ;
public final UseStatement useStatement() throws RecognitionException {
UseStatement stmt = null;
String ks =null;
try {
// Parser.g:258:5: ( K_USE ks= keyspaceName )
// Parser.g:258:7: K_USE ks= keyspaceName
{
match(input,K_USE,FOLLOW_K_USE_in_useStatement1075); if (state.failed) return stmt;
pushFollow(FOLLOW_keyspaceName_in_useStatement1079);
ks=keyspaceName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new UseStatement(ks); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "useStatement"
// $ANTLR start "selectStatement"
// Parser.g:267:1: selectStatement returns [SelectStatement.RawStatement expr] : K_SELECT ( ( K_JSON selectClause )=> K_JSON )? sclause= selectClause K_FROM cf= columnFamilyName ( K_WHERE wclause= whereClause )? ( K_GROUP K_BY groupByClause[groups] ( ',' groupByClause[groups] )* )? ( K_ORDER K_BY orderByClause[orderings] ( ',' orderByClause[orderings] )* )? ( K_PER K_PARTITION K_LIMIT rows= intValue )? ( K_LIMIT rows= intValue )? ( K_ALLOW K_FILTERING )? ;
public final SelectStatement.RawStatement selectStatement() throws RecognitionException {
SelectStatement.RawStatement expr = null;
ParserRuleReturnScope sclause =null;
QualifiedName cf =null;
WhereClause.Builder wclause =null;
Term.Raw rows =null;
Term.Raw limit = null;
Term.Raw perPartitionLimit = null;
Map orderings = new LinkedHashMap<>();
List groups = new ArrayList<>();
boolean allowFiltering = false;
boolean isJson = false;
try {
// Parser.g:276:5: ( K_SELECT ( ( K_JSON selectClause )=> K_JSON )? sclause= selectClause K_FROM cf= columnFamilyName ( K_WHERE wclause= whereClause )? ( K_GROUP K_BY groupByClause[groups] ( ',' groupByClause[groups] )* )? ( K_ORDER K_BY orderByClause[orderings] ( ',' orderByClause[orderings] )* )? ( K_PER K_PARTITION K_LIMIT rows= intValue )? ( K_LIMIT rows= intValue )? ( K_ALLOW K_FILTERING )? )
// Parser.g:276:7: K_SELECT ( ( K_JSON selectClause )=> K_JSON )? sclause= selectClause K_FROM cf= columnFamilyName ( K_WHERE wclause= whereClause )? ( K_GROUP K_BY groupByClause[groups] ( ',' groupByClause[groups] )* )? ( K_ORDER K_BY orderByClause[orderings] ( ',' orderByClause[orderings] )* )? ( K_PER K_PARTITION K_LIMIT rows= intValue )? ( K_LIMIT rows= intValue )? ( K_ALLOW K_FILTERING )?
{
match(input,K_SELECT,FOLLOW_K_SELECT_in_selectStatement1113); if (state.failed) return expr;
// Parser.g:278:7: ( ( K_JSON selectClause )=> K_JSON )?
int alt2=2;
alt2 = dfa2.predict(input);
switch (alt2) {
case 1 :
// Parser.g:278:9: ( K_JSON selectClause )=> K_JSON
{
match(input,K_JSON,FOLLOW_K_JSON_in_selectStatement1139); if (state.failed) return expr;
if ( state.backtracking==0 ) { isJson = true; }
}
break;
}
pushFollow(FOLLOW_selectClause_in_selectStatement1148);
sclause=selectClause();
state._fsp--;
if (state.failed) return expr;
match(input,K_FROM,FOLLOW_K_FROM_in_selectStatement1156); if (state.failed) return expr;
pushFollow(FOLLOW_columnFamilyName_in_selectStatement1160);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return expr;
// Parser.g:280:7: ( K_WHERE wclause= whereClause )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==K_WHERE) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// Parser.g:280:9: K_WHERE wclause= whereClause
{
match(input,K_WHERE,FOLLOW_K_WHERE_in_selectStatement1170); if (state.failed) return expr;
pushFollow(FOLLOW_whereClause_in_selectStatement1174);
wclause=whereClause();
state._fsp--;
if (state.failed) return expr;
}
break;
}
// Parser.g:281:7: ( K_GROUP K_BY groupByClause[groups] ( ',' groupByClause[groups] )* )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==K_GROUP) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// Parser.g:281:9: K_GROUP K_BY groupByClause[groups] ( ',' groupByClause[groups] )*
{
match(input,K_GROUP,FOLLOW_K_GROUP_in_selectStatement1187); if (state.failed) return expr;
match(input,K_BY,FOLLOW_K_BY_in_selectStatement1189); if (state.failed) return expr;
pushFollow(FOLLOW_groupByClause_in_selectStatement1191);
groupByClause(groups);
state._fsp--;
if (state.failed) return expr;
// Parser.g:281:44: ( ',' groupByClause[groups] )*
loop4:
while (true) {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==212) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// Parser.g:281:46: ',' groupByClause[groups]
{
match(input,212,FOLLOW_212_in_selectStatement1196); if (state.failed) return expr;
pushFollow(FOLLOW_groupByClause_in_selectStatement1198);
groupByClause(groups);
state._fsp--;
if (state.failed) return expr;
}
break;
default :
break loop4;
}
}
}
break;
}
// Parser.g:282:7: ( K_ORDER K_BY orderByClause[orderings] ( ',' orderByClause[orderings] )* )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==K_ORDER) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// Parser.g:282:9: K_ORDER K_BY orderByClause[orderings] ( ',' orderByClause[orderings] )*
{
match(input,K_ORDER,FOLLOW_K_ORDER_in_selectStatement1215); if (state.failed) return expr;
match(input,K_BY,FOLLOW_K_BY_in_selectStatement1217); if (state.failed) return expr;
pushFollow(FOLLOW_orderByClause_in_selectStatement1219);
orderByClause(orderings);
state._fsp--;
if (state.failed) return expr;
// Parser.g:282:47: ( ',' orderByClause[orderings] )*
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==212) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// Parser.g:282:49: ',' orderByClause[orderings]
{
match(input,212,FOLLOW_212_in_selectStatement1224); if (state.failed) return expr;
pushFollow(FOLLOW_orderByClause_in_selectStatement1226);
orderByClause(orderings);
state._fsp--;
if (state.failed) return expr;
}
break;
default :
break loop6;
}
}
}
break;
}
// Parser.g:283:7: ( K_PER K_PARTITION K_LIMIT rows= intValue )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==K_PER) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// Parser.g:283:9: K_PER K_PARTITION K_LIMIT rows= intValue
{
match(input,K_PER,FOLLOW_K_PER_in_selectStatement1243); if (state.failed) return expr;
match(input,K_PARTITION,FOLLOW_K_PARTITION_in_selectStatement1245); if (state.failed) return expr;
match(input,K_LIMIT,FOLLOW_K_LIMIT_in_selectStatement1247); if (state.failed) return expr;
pushFollow(FOLLOW_intValue_in_selectStatement1251);
rows=intValue();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { perPartitionLimit = rows; }
}
break;
}
// Parser.g:284:7: ( K_LIMIT rows= intValue )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==K_LIMIT) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// Parser.g:284:9: K_LIMIT rows= intValue
{
match(input,K_LIMIT,FOLLOW_K_LIMIT_in_selectStatement1266); if (state.failed) return expr;
pushFollow(FOLLOW_intValue_in_selectStatement1270);
rows=intValue();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { limit = rows; }
}
break;
}
// Parser.g:285:7: ( K_ALLOW K_FILTERING )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==K_ALLOW) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// Parser.g:285:9: K_ALLOW K_FILTERING
{
match(input,K_ALLOW,FOLLOW_K_ALLOW_in_selectStatement1285); if (state.failed) return expr;
match(input,K_FILTERING,FOLLOW_K_FILTERING_in_selectStatement1287); if (state.failed) return expr;
if ( state.backtracking==0 ) { allowFiltering = true; }
}
break;
}
if ( state.backtracking==0 ) {
SelectStatement.Parameters params = new SelectStatement.Parameters(orderings,
groups,
(sclause!=null?((Cql_Parser.selectClause_return)sclause).isDistinct:false),
allowFiltering,
isJson);
WhereClause where = wclause == null ? WhereClause.empty() : wclause.build();
expr = new SelectStatement.RawStatement(cf, params, (sclause!=null?((Cql_Parser.selectClause_return)sclause).selectors:null), where, limit, perPartitionLimit);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "selectStatement"
public static class selectClause_return extends ParserRuleReturnScope {
public boolean isDistinct;
public List selectors;
};
// $ANTLR start "selectClause"
// Parser.g:297:1: selectClause returns [boolean isDistinct, List selectors] : ( ( K_DISTINCT selectors )=> K_DISTINCT s= selectors |s= selectors );
public final Cql_Parser.selectClause_return selectClause() throws RecognitionException {
Cql_Parser.selectClause_return retval = new Cql_Parser.selectClause_return();
retval.start = input.LT(1);
List s =null;
retval.isDistinct = false;
try {
// Parser.g:300:5: ( ( K_DISTINCT selectors )=> K_DISTINCT s= selectors |s= selectors )
int alt11=2;
alt11 = dfa11.predict(input);
switch (alt11) {
case 1 :
// Parser.g:300:7: ( K_DISTINCT selectors )=> K_DISTINCT s= selectors
{
match(input,K_DISTINCT,FOLLOW_K_DISTINCT_in_selectClause1342); if (state.failed) return retval;
pushFollow(FOLLOW_selectors_in_selectClause1346);
s=selectors();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) { retval.isDistinct = true; retval.selectors = s; }
}
break;
case 2 :
// Parser.g:301:7: s= selectors
{
pushFollow(FOLLOW_selectors_in_selectClause1358);
s=selectors();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) { retval.selectors = s; }
}
break;
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "selectClause"
// $ANTLR start "selectors"
// Parser.g:304:1: selectors returns [List expr] : (t1= selector ( ',' tN= selector )* | '\\*' );
public final List selectors() throws RecognitionException {
List expr = null;
RawSelector t1 =null;
RawSelector tN =null;
try {
// Parser.g:305:5: (t1= selector ( ',' tN= selector )* | '\\*' )
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==BOOLEAN||LA13_0==DURATION||LA13_0==FLOAT||LA13_0==HEXNUMBER||(LA13_0 >= IDENT && LA13_0 <= INTEGER)||LA13_0==K_ACCESS||(LA13_0 >= K_AGGREGATE && LA13_0 <= K_ALL)||LA13_0==K_AS||LA13_0==K_ASCII||(LA13_0 >= K_BIGINT && LA13_0 <= K_BOOLEAN)||(LA13_0 >= K_CALLED && LA13_0 <= K_CLUSTERING)||(LA13_0 >= K_COMPACT && LA13_0 <= K_COUNTER)||(LA13_0 >= K_CUSTOM && LA13_0 <= K_DEFAULT)||(LA13_0 >= K_DISTINCT && LA13_0 <= K_DOUBLE)||LA13_0==K_DURATION||(LA13_0 >= K_EXISTS && LA13_0 <= K_FLOAT)||LA13_0==K_FROZEN||(LA13_0 >= K_FUNCTION && LA13_0 <= K_FUNCTIONS)||(LA13_0 >= K_GROUP && LA13_0 <= K_IDENTITY)||(LA13_0 >= K_INET && LA13_0 <= K_INPUT)||(LA13_0 >= K_INT && LA13_0 <= K_INTERNALS)||(LA13_0 >= K_JSON && LA13_0 <= K_KEYS)||(LA13_0 >= K_KEYSPACES && LA13_0 <= K_LIKE)||(LA13_0 >= K_LIST && LA13_0 <= K_MASKED)||(LA13_0 >= K_MAXWRITETIME && LA13_0 <= K_MBEANS)||(LA13_0 >= K_NEGATIVE_INFINITY && LA13_0 <= K_NOLOGIN)||LA13_0==K_NOSUPERUSER||LA13_0==K_NULL||(LA13_0 >= K_ONLY && LA13_0 <= K_OPTIONS)||(LA13_0 >= K_PARTITION && LA13_0 <= K_POSITIVE_NAN)||(LA13_0 >= K_REPLACE && LA13_0 <= K_RETURNS)||(LA13_0 >= K_ROLE && LA13_0 <= K_ROLES)||LA13_0==K_SELECT_MASKED||(LA13_0 >= K_SFUNC && LA13_0 <= K_TINYINT)||(LA13_0 >= K_TOKEN && LA13_0 <= K_TRIGGER)||(LA13_0 >= K_TTL && LA13_0 <= K_TYPES)||(LA13_0 >= K_UNMASK && LA13_0 <= K_UNSET)||(LA13_0 >= K_USER && LA13_0 <= K_USERS)||(LA13_0 >= K_UUID && LA13_0 <= K_VECTOR)||LA13_0==K_WRITETIME||(LA13_0 >= QMARK && LA13_0 <= QUOTED_NAME)||LA13_0==STRING_LITERAL||LA13_0==UUID||LA13_0==208||LA13_0==213||LA13_0==217||LA13_0==224||LA13_0==228) ) {
alt13=1;
}
else if ( (LA13_0==225) ) {
alt13=2;
}
else {
if (state.backtracking>0) {state.failed=true; return expr;}
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
// Parser.g:305:7: t1= selector ( ',' tN= selector )*
{
pushFollow(FOLLOW_selector_in_selectors1383);
t1=selector();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { expr = new ArrayList(); expr.add(t1); }
// Parser.g:305:76: ( ',' tN= selector )*
loop12:
while (true) {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==212) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// Parser.g:305:77: ',' tN= selector
{
match(input,212,FOLLOW_212_in_selectors1388); if (state.failed) return expr;
pushFollow(FOLLOW_selector_in_selectors1392);
tN=selector();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { expr.add(tN); }
}
break;
default :
break loop12;
}
}
}
break;
case 2 :
// Parser.g:306:7: '\\*'
{
match(input,225,FOLLOW_225_in_selectors1404); if (state.failed) return expr;
if ( state.backtracking==0 ) { expr = Collections.emptyList();}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "selectors"
// $ANTLR start "selector"
// Parser.g:309:1: selector returns [RawSelector s] : us= unaliasedSelector ( K_AS c= noncol_ident )? ;
public final RawSelector selector() throws RecognitionException {
RawSelector s = null;
Selectable.Raw us =null;
ColumnIdentifier c =null;
ColumnIdentifier alias = null;
try {
// Parser.g:311:5: (us= unaliasedSelector ( K_AS c= noncol_ident )? )
// Parser.g:311:7: us= unaliasedSelector ( K_AS c= noncol_ident )?
{
pushFollow(FOLLOW_unaliasedSelector_in_selector1437);
us=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
// Parser.g:311:28: ( K_AS c= noncol_ident )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==K_AS) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// Parser.g:311:29: K_AS c= noncol_ident
{
match(input,K_AS,FOLLOW_K_AS_in_selector1440); if (state.failed) return s;
pushFollow(FOLLOW_noncol_ident_in_selector1444);
c=noncol_ident();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { alias = c; }
}
break;
}
if ( state.backtracking==0 ) { s = new RawSelector(us, alias); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selector"
// $ANTLR start "unaliasedSelector"
// Parser.g:314:1: unaliasedSelector returns [Selectable.Raw s] : a= selectionAddition ;
public final Selectable.Raw unaliasedSelector() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw a =null;
try {
// Parser.g:315:5: (a= selectionAddition )
// Parser.g:315:7: a= selectionAddition
{
pushFollow(FOLLOW_selectionAddition_in_unaliasedSelector1473);
a=selectionAddition();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = a;}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "unaliasedSelector"
// $ANTLR start "selectionAddition"
// Parser.g:318:1: selectionAddition returns [Selectable.Raw s] : l= selectionMultiplication ( '+' r= selectionMultiplication | '-' r= selectionMultiplication )* ;
public final Selectable.Raw selectionAddition() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw l =null;
Selectable.Raw r =null;
try {
// Parser.g:319:5: (l= selectionMultiplication ( '+' r= selectionMultiplication | '-' r= selectionMultiplication )* )
// Parser.g:319:9: l= selectionMultiplication ( '+' r= selectionMultiplication | '-' r= selectionMultiplication )*
{
pushFollow(FOLLOW_selectionMultiplication_in_selectionAddition1500);
l=selectionMultiplication();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = l;}
// Parser.g:320:9: ( '+' r= selectionMultiplication | '-' r= selectionMultiplication )*
loop15:
while (true) {
int alt15=3;
int LA15_0 = input.LA(1);
if ( (LA15_0==210) ) {
alt15=1;
}
else if ( (LA15_0==213) ) {
alt15=2;
}
switch (alt15) {
case 1 :
// Parser.g:320:11: '+' r= selectionMultiplication
{
match(input,210,FOLLOW_210_in_selectionAddition1516); if (state.failed) return s;
pushFollow(FOLLOW_selectionMultiplication_in_selectionAddition1520);
r=selectionMultiplication();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = Selectable.WithFunction.Raw.newOperation('+', s, r);}
}
break;
case 2 :
// Parser.g:321:11: '-' r= selectionMultiplication
{
match(input,213,FOLLOW_213_in_selectionAddition1534); if (state.failed) return s;
pushFollow(FOLLOW_selectionMultiplication_in_selectionAddition1538);
r=selectionMultiplication();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = Selectable.WithFunction.Raw.newOperation('-', s, r);}
}
break;
default :
break loop15;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionAddition"
// $ANTLR start "selectionMultiplication"
// Parser.g:325:1: selectionMultiplication returns [Selectable.Raw s] : l= selectionGroup ( '\\*' r= selectionGroup | '/' r= selectionGroup | '%' r= selectionGroup )* ;
public final Selectable.Raw selectionMultiplication() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw l =null;
Selectable.Raw r =null;
try {
// Parser.g:326:5: (l= selectionGroup ( '\\*' r= selectionGroup | '/' r= selectionGroup | '%' r= selectionGroup )* )
// Parser.g:326:9: l= selectionGroup ( '\\*' r= selectionGroup | '/' r= selectionGroup | '%' r= selectionGroup )*
{
pushFollow(FOLLOW_selectionGroup_in_selectionMultiplication1576);
l=selectionGroup();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = l;}
// Parser.g:327:9: ( '\\*' r= selectionGroup | '/' r= selectionGroup | '%' r= selectionGroup )*
loop16:
while (true) {
int alt16=4;
switch ( input.LA(1) ) {
case 225:
{
alt16=1;
}
break;
case 216:
{
alt16=2;
}
break;
case 207:
{
alt16=3;
}
break;
}
switch (alt16) {
case 1 :
// Parser.g:327:11: '\\*' r= selectionGroup
{
match(input,225,FOLLOW_225_in_selectionMultiplication1592); if (state.failed) return s;
pushFollow(FOLLOW_selectionGroup_in_selectionMultiplication1596);
r=selectionGroup();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = Selectable.WithFunction.Raw.newOperation('*', s, r);}
}
break;
case 2 :
// Parser.g:328:11: '/' r= selectionGroup
{
match(input,216,FOLLOW_216_in_selectionMultiplication1610); if (state.failed) return s;
pushFollow(FOLLOW_selectionGroup_in_selectionMultiplication1614);
r=selectionGroup();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = Selectable.WithFunction.Raw.newOperation('/', s, r);}
}
break;
case 3 :
// Parser.g:329:11: '%' r= selectionGroup
{
match(input,207,FOLLOW_207_in_selectionMultiplication1628); if (state.failed) return s;
pushFollow(FOLLOW_selectionGroup_in_selectionMultiplication1632);
r=selectionGroup();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = Selectable.WithFunction.Raw.newOperation('%', s, r);}
}
break;
default :
break loop16;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionMultiplication"
// $ANTLR start "selectionGroup"
// Parser.g:333:1: selectionGroup returns [Selectable.Raw s] : ( ( selectionGroupWithField )=>f= selectionGroupWithField |g= selectionGroupWithoutField | '-' g= selectionGroup );
public final Selectable.Raw selectionGroup() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw f =null;
Selectable.Raw g =null;
try {
// Parser.g:334:5: ( ( selectionGroupWithField )=>f= selectionGroupWithField |g= selectionGroupWithoutField | '-' g= selectionGroup )
int alt17=3;
alt17 = dfa17.predict(input);
switch (alt17) {
case 1 :
// Parser.g:334:7: ( selectionGroupWithField )=>f= selectionGroupWithField
{
pushFollow(FOLLOW_selectionGroupWithField_in_selectionGroup1674);
f=selectionGroupWithField();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s =f; }
}
break;
case 2 :
// Parser.g:335:7: g= selectionGroupWithoutField
{
pushFollow(FOLLOW_selectionGroupWithoutField_in_selectionGroup1686);
g=selectionGroupWithoutField();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s =g; }
}
break;
case 3 :
// Parser.g:336:7: '-' g= selectionGroup
{
match(input,213,FOLLOW_213_in_selectionGroup1696); if (state.failed) return s;
pushFollow(FOLLOW_selectionGroup_in_selectionGroup1700);
g=selectionGroup();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = Selectable.WithFunction.Raw.newNegation(g);}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionGroup"
// $ANTLR start "selectionGroupWithField"
// Parser.g:339:1: selectionGroupWithField returns [Selectable.Raw s] : g= selectionGroupWithoutField m= selectorModifier[g] ;
public final Selectable.Raw selectionGroupWithField() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw g =null;
Selectable.Raw m =null;
try {
// Parser.g:340:5: (g= selectionGroupWithoutField m= selectorModifier[g] )
// Parser.g:340:7: g= selectionGroupWithoutField m= selectorModifier[g]
{
pushFollow(FOLLOW_selectionGroupWithoutField_in_selectionGroupWithField1725);
g=selectionGroupWithoutField();
state._fsp--;
if (state.failed) return s;
pushFollow(FOLLOW_selectorModifier_in_selectionGroupWithField1729);
m=selectorModifier(g);
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) {s = m;}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionGroupWithField"
// $ANTLR start "selectorModifier"
// Parser.g:343:1: selectorModifier[Selectable.Raw receiver] returns [Selectable.Raw s] : (f= fieldSelectorModifier[receiver] m= selectorModifier[f] | '[' ss= collectionSubSelection[receiver] ']' m= selectorModifier[ss] |);
public final Selectable.Raw selectorModifier(Selectable.Raw receiver) throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw f =null;
Selectable.Raw m =null;
Selectable.Raw ss =null;
try {
// Parser.g:344:5: (f= fieldSelectorModifier[receiver] m= selectorModifier[f] | '[' ss= collectionSubSelection[receiver] ']' m= selectorModifier[ss] |)
int alt18=3;
switch ( input.LA(1) ) {
case 215:
{
alt18=1;
}
break;
case 224:
{
alt18=2;
}
break;
case EOF:
case K_ALLOW:
case K_AS:
case K_FROM:
case K_LIMIT:
case K_ORDER:
case K_PER:
case 207:
case 209:
case 210:
case 212:
case 213:
case 216:
case 217:
case 225:
case 226:
case 229:
{
alt18=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return s;}
NoViableAltException nvae =
new NoViableAltException("", 18, 0, input);
throw nvae;
}
switch (alt18) {
case 1 :
// Parser.g:344:7: f= fieldSelectorModifier[receiver] m= selectorModifier[f]
{
pushFollow(FOLLOW_fieldSelectorModifier_in_selectorModifier1756);
f=fieldSelectorModifier(receiver);
state._fsp--;
if (state.failed) return s;
pushFollow(FOLLOW_selectorModifier_in_selectorModifier1761);
m=selectorModifier(f);
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = m; }
}
break;
case 2 :
// Parser.g:345:7: '[' ss= collectionSubSelection[receiver] ']' m= selectorModifier[ss]
{
match(input,224,FOLLOW_224_in_selectorModifier1772); if (state.failed) return s;
pushFollow(FOLLOW_collectionSubSelection_in_selectorModifier1776);
ss=collectionSubSelection(receiver);
state._fsp--;
if (state.failed) return s;
match(input,226,FOLLOW_226_in_selectorModifier1779); if (state.failed) return s;
pushFollow(FOLLOW_selectorModifier_in_selectorModifier1783);
m=selectorModifier(ss);
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = m; }
}
break;
case 3 :
// Parser.g:346:7:
{
if ( state.backtracking==0 ) { s = receiver; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectorModifier"
// $ANTLR start "fieldSelectorModifier"
// Parser.g:349:1: fieldSelectorModifier[Selectable.Raw receiver] returns [Selectable.Raw s] : '.' fi= fident ;
public final Selectable.Raw fieldSelectorModifier(Selectable.Raw receiver) throws RecognitionException {
Selectable.Raw s = null;
FieldIdentifier fi =null;
try {
// Parser.g:350:5: ( '.' fi= fident )
// Parser.g:350:7: '.' fi= fident
{
match(input,215,FOLLOW_215_in_fieldSelectorModifier1816); if (state.failed) return s;
pushFollow(FOLLOW_fident_in_fieldSelectorModifier1820);
fi=fident();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WithFieldSelection.Raw(receiver, fi); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "fieldSelectorModifier"
// $ANTLR start "collectionSubSelection"
// Parser.g:353:1: collectionSubSelection[Selectable.Raw receiver] returns [Selectable.Raw s] : (t1= term ( RANGE (t2= term )? )? | RANGE t2= term ) ;
public final Selectable.Raw collectionSubSelection(Selectable.Raw receiver) throws RecognitionException {
Selectable.Raw s = null;
Term.Raw t1 =null;
Term.Raw t2 =null;
boolean isSlice=false;
try {
// Parser.g:355:5: ( (t1= term ( RANGE (t2= term )? )? | RANGE t2= term ) )
// Parser.g:355:7: (t1= term ( RANGE (t2= term )? )? | RANGE t2= term )
{
// Parser.g:355:7: (t1= term ( RANGE (t2= term )? )? | RANGE t2= term )
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==BOOLEAN||LA21_0==DURATION||LA21_0==FLOAT||LA21_0==HEXNUMBER||(LA21_0 >= IDENT && LA21_0 <= INTEGER)||LA21_0==K_ACCESS||(LA21_0 >= K_AGGREGATE && LA21_0 <= K_ALL)||LA21_0==K_AS||LA21_0==K_ASCII||(LA21_0 >= K_BIGINT && LA21_0 <= K_BOOLEAN)||(LA21_0 >= K_CALLED && LA21_0 <= K_CLUSTERING)||(LA21_0 >= K_COMPACT && LA21_0 <= K_COUNTER)||(LA21_0 >= K_CUSTOM && LA21_0 <= K_DEFAULT)||(LA21_0 >= K_DISTINCT && LA21_0 <= K_DOUBLE)||LA21_0==K_DURATION||(LA21_0 >= K_EXISTS && LA21_0 <= K_FLOAT)||LA21_0==K_FROZEN||(LA21_0 >= K_FUNCTION && LA21_0 <= K_FUNCTIONS)||(LA21_0 >= K_GROUP && LA21_0 <= K_IDENTITY)||(LA21_0 >= K_INET && LA21_0 <= K_INPUT)||(LA21_0 >= K_INT && LA21_0 <= K_INTERNALS)||(LA21_0 >= K_JSON && LA21_0 <= K_KEYS)||(LA21_0 >= K_KEYSPACES && LA21_0 <= K_LIKE)||(LA21_0 >= K_LIST && LA21_0 <= K_MASKED)||(LA21_0 >= K_MAXWRITETIME && LA21_0 <= K_MBEANS)||(LA21_0 >= K_NEGATIVE_INFINITY && LA21_0 <= K_NOLOGIN)||LA21_0==K_NOSUPERUSER||LA21_0==K_NULL||(LA21_0 >= K_ONLY && LA21_0 <= K_OPTIONS)||(LA21_0 >= K_PARTITION && LA21_0 <= K_POSITIVE_NAN)||(LA21_0 >= K_REPLACE && LA21_0 <= K_RETURNS)||(LA21_0 >= K_ROLE && LA21_0 <= K_ROLES)||LA21_0==K_SELECT_MASKED||(LA21_0 >= K_SFUNC && LA21_0 <= K_TINYINT)||(LA21_0 >= K_TOKEN && LA21_0 <= K_TRIGGER)||(LA21_0 >= K_TTL && LA21_0 <= K_TYPES)||(LA21_0 >= K_UNMASK && LA21_0 <= K_UNSET)||(LA21_0 >= K_USER && LA21_0 <= K_USERS)||(LA21_0 >= K_UUID && LA21_0 <= K_VECTOR)||LA21_0==K_WRITETIME||(LA21_0 >= QMARK && LA21_0 <= QUOTED_NAME)||LA21_0==STRING_LITERAL||LA21_0==UUID||LA21_0==208||LA21_0==213||LA21_0==217||LA21_0==224||LA21_0==228) ) {
alt21=1;
}
else if ( (LA21_0==RANGE) ) {
alt21=2;
}
else {
if (state.backtracking>0) {state.failed=true; return s;}
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
// Parser.g:355:9: t1= term ( RANGE (t2= term )? )?
{
pushFollow(FOLLOW_term_in_collectionSubSelection1858);
t1=term();
state._fsp--;
if (state.failed) return s;
// Parser.g:355:17: ( RANGE (t2= term )? )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==RANGE) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// Parser.g:355:19: RANGE (t2= term )?
{
if ( state.backtracking==0 ) { isSlice=true; }
match(input,RANGE,FOLLOW_RANGE_in_collectionSubSelection1864); if (state.failed) return s;
// Parser.g:355:43: (t2= term )?
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==BOOLEAN||LA19_0==DURATION||LA19_0==FLOAT||LA19_0==HEXNUMBER||(LA19_0 >= IDENT && LA19_0 <= INTEGER)||LA19_0==K_ACCESS||(LA19_0 >= K_AGGREGATE && LA19_0 <= K_ALL)||LA19_0==K_AS||LA19_0==K_ASCII||(LA19_0 >= K_BIGINT && LA19_0 <= K_BOOLEAN)||(LA19_0 >= K_CALLED && LA19_0 <= K_CLUSTERING)||(LA19_0 >= K_COMPACT && LA19_0 <= K_COUNTER)||(LA19_0 >= K_CUSTOM && LA19_0 <= K_DEFAULT)||(LA19_0 >= K_DISTINCT && LA19_0 <= K_DOUBLE)||LA19_0==K_DURATION||(LA19_0 >= K_EXISTS && LA19_0 <= K_FLOAT)||LA19_0==K_FROZEN||(LA19_0 >= K_FUNCTION && LA19_0 <= K_FUNCTIONS)||(LA19_0 >= K_GROUP && LA19_0 <= K_IDENTITY)||(LA19_0 >= K_INET && LA19_0 <= K_INPUT)||(LA19_0 >= K_INT && LA19_0 <= K_INTERNALS)||(LA19_0 >= K_JSON && LA19_0 <= K_KEYS)||(LA19_0 >= K_KEYSPACES && LA19_0 <= K_LIKE)||(LA19_0 >= K_LIST && LA19_0 <= K_MASKED)||(LA19_0 >= K_MAXWRITETIME && LA19_0 <= K_MBEANS)||(LA19_0 >= K_NEGATIVE_INFINITY && LA19_0 <= K_NOLOGIN)||LA19_0==K_NOSUPERUSER||LA19_0==K_NULL||(LA19_0 >= K_ONLY && LA19_0 <= K_OPTIONS)||(LA19_0 >= K_PARTITION && LA19_0 <= K_POSITIVE_NAN)||(LA19_0 >= K_REPLACE && LA19_0 <= K_RETURNS)||(LA19_0 >= K_ROLE && LA19_0 <= K_ROLES)||LA19_0==K_SELECT_MASKED||(LA19_0 >= K_SFUNC && LA19_0 <= K_TINYINT)||(LA19_0 >= K_TOKEN && LA19_0 <= K_TRIGGER)||(LA19_0 >= K_TTL && LA19_0 <= K_TYPES)||(LA19_0 >= K_UNMASK && LA19_0 <= K_UNSET)||(LA19_0 >= K_USER && LA19_0 <= K_USERS)||(LA19_0 >= K_UUID && LA19_0 <= K_VECTOR)||LA19_0==K_WRITETIME||(LA19_0 >= QMARK && LA19_0 <= QUOTED_NAME)||LA19_0==STRING_LITERAL||LA19_0==UUID||LA19_0==208||LA19_0==213||LA19_0==217||LA19_0==224||LA19_0==228) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// Parser.g:355:44: t2= term
{
pushFollow(FOLLOW_term_in_collectionSubSelection1869);
t2=term();
state._fsp--;
if (state.failed) return s;
}
break;
}
}
break;
}
}
break;
case 2 :
// Parser.g:356:9: RANGE t2= term
{
match(input,RANGE,FOLLOW_RANGE_in_collectionSubSelection1884); if (state.failed) return s;
if ( state.backtracking==0 ) { isSlice=true; }
pushFollow(FOLLOW_term_in_collectionSubSelection1890);
t2=term();
state._fsp--;
if (state.failed) return s;
}
break;
}
if ( state.backtracking==0 ) {
s = isSlice
? new Selectable.WithSliceSelection.Raw(receiver, t1, t2)
: new Selectable.WithElementSelection.Raw(receiver, t1);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "collectionSubSelection"
// $ANTLR start "selectionGroupWithoutField"
// Parser.g:364:1: selectionGroupWithoutField returns [Selectable.Raw s] : (sn= simpleUnaliasedSelector | ( selectionTypeHint )=>h= selectionTypeHint |t= selectionTupleOrNestedSelector |l= selectionList |m= selectionMapOrSet );
public final Selectable.Raw selectionGroupWithoutField() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw sn =null;
Selectable.Raw h =null;
Selectable.Raw t =null;
Selectable.Raw l =null;
Selectable.Raw m =null;
Selectable.Raw tmp = null;
try {
// Parser.g:367:5: (sn= simpleUnaliasedSelector | ( selectionTypeHint )=>h= selectionTypeHint |t= selectionTupleOrNestedSelector |l= selectionList |m= selectionMapOrSet )
int alt22=5;
alt22 = dfa22.predict(input);
switch (alt22) {
case 1 :
// Parser.g:367:7: sn= simpleUnaliasedSelector
{
pushFollow(FOLLOW_simpleUnaliasedSelector_in_selectionGroupWithoutField1942);
sn=simpleUnaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { tmp=sn; }
}
break;
case 2 :
// Parser.g:368:7: ( selectionTypeHint )=>h= selectionTypeHint
{
pushFollow(FOLLOW_selectionTypeHint_in_selectionGroupWithoutField1960);
h=selectionTypeHint();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { tmp=h; }
}
break;
case 3 :
// Parser.g:369:7: t= selectionTupleOrNestedSelector
{
pushFollow(FOLLOW_selectionTupleOrNestedSelector_in_selectionGroupWithoutField1972);
t=selectionTupleOrNestedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { tmp=t; }
}
break;
case 4 :
// Parser.g:370:7: l= selectionList
{
pushFollow(FOLLOW_selectionList_in_selectionGroupWithoutField1984);
l=selectionList();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { tmp=l; }
}
break;
case 5 :
// Parser.g:371:7: m= selectionMapOrSet
{
pushFollow(FOLLOW_selectionMapOrSet_in_selectionGroupWithoutField1996);
m=selectionMapOrSet();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { tmp=m; }
}
break;
}
if ( state.backtracking==0 ) { s = tmp; }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionGroupWithoutField"
// $ANTLR start "selectionTypeHint"
// Parser.g:375:1: selectionTypeHint returns [Selectable.Raw s] : '(' ct= comparatorType ')' a= selectionGroupWithoutField ;
public final Selectable.Raw selectionTypeHint() throws RecognitionException {
Selectable.Raw s = null;
CQL3Type.Raw ct =null;
Selectable.Raw a =null;
try {
// Parser.g:376:5: ( '(' ct= comparatorType ')' a= selectionGroupWithoutField )
// Parser.g:376:7: '(' ct= comparatorType ')' a= selectionGroupWithoutField
{
match(input,208,FOLLOW_208_in_selectionTypeHint2024); if (state.failed) return s;
pushFollow(FOLLOW_comparatorType_in_selectionTypeHint2028);
ct=comparatorType();
state._fsp--;
if (state.failed) return s;
match(input,209,FOLLOW_209_in_selectionTypeHint2030); if (state.failed) return s;
pushFollow(FOLLOW_selectionGroupWithoutField_in_selectionTypeHint2034);
a=selectionGroupWithoutField();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WithTypeHint.Raw(ct, a); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionTypeHint"
// $ANTLR start "selectionList"
// Parser.g:379:1: selectionList returns [Selectable.Raw s] : '[' (t1= unaliasedSelector ( ',' tn= unaliasedSelector )* )? ']' ;
public final Selectable.Raw selectionList() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw t1 =null;
Selectable.Raw tn =null;
List l = new ArrayList<>();
try {
// Parser.g:382:5: ( '[' (t1= unaliasedSelector ( ',' tn= unaliasedSelector )* )? ']' )
// Parser.g:382:7: '[' (t1= unaliasedSelector ( ',' tn= unaliasedSelector )* )? ']'
{
match(input,224,FOLLOW_224_in_selectionList2075); if (state.failed) return s;
// Parser.g:382:11: (t1= unaliasedSelector ( ',' tn= unaliasedSelector )* )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==BOOLEAN||LA24_0==DURATION||LA24_0==FLOAT||LA24_0==HEXNUMBER||(LA24_0 >= IDENT && LA24_0 <= INTEGER)||LA24_0==K_ACCESS||(LA24_0 >= K_AGGREGATE && LA24_0 <= K_ALL)||LA24_0==K_AS||LA24_0==K_ASCII||(LA24_0 >= K_BIGINT && LA24_0 <= K_BOOLEAN)||(LA24_0 >= K_CALLED && LA24_0 <= K_CLUSTERING)||(LA24_0 >= K_COMPACT && LA24_0 <= K_COUNTER)||(LA24_0 >= K_CUSTOM && LA24_0 <= K_DEFAULT)||(LA24_0 >= K_DISTINCT && LA24_0 <= K_DOUBLE)||LA24_0==K_DURATION||(LA24_0 >= K_EXISTS && LA24_0 <= K_FLOAT)||LA24_0==K_FROZEN||(LA24_0 >= K_FUNCTION && LA24_0 <= K_FUNCTIONS)||(LA24_0 >= K_GROUP && LA24_0 <= K_IDENTITY)||(LA24_0 >= K_INET && LA24_0 <= K_INPUT)||(LA24_0 >= K_INT && LA24_0 <= K_INTERNALS)||(LA24_0 >= K_JSON && LA24_0 <= K_KEYS)||(LA24_0 >= K_KEYSPACES && LA24_0 <= K_LIKE)||(LA24_0 >= K_LIST && LA24_0 <= K_MASKED)||(LA24_0 >= K_MAXWRITETIME && LA24_0 <= K_MBEANS)||(LA24_0 >= K_NEGATIVE_INFINITY && LA24_0 <= K_NOLOGIN)||LA24_0==K_NOSUPERUSER||LA24_0==K_NULL||(LA24_0 >= K_ONLY && LA24_0 <= K_OPTIONS)||(LA24_0 >= K_PARTITION && LA24_0 <= K_POSITIVE_NAN)||(LA24_0 >= K_REPLACE && LA24_0 <= K_RETURNS)||(LA24_0 >= K_ROLE && LA24_0 <= K_ROLES)||LA24_0==K_SELECT_MASKED||(LA24_0 >= K_SFUNC && LA24_0 <= K_TINYINT)||(LA24_0 >= K_TOKEN && LA24_0 <= K_TRIGGER)||(LA24_0 >= K_TTL && LA24_0 <= K_TYPES)||(LA24_0 >= K_UNMASK && LA24_0 <= K_UNSET)||(LA24_0 >= K_USER && LA24_0 <= K_USERS)||(LA24_0 >= K_UUID && LA24_0 <= K_VECTOR)||LA24_0==K_WRITETIME||(LA24_0 >= QMARK && LA24_0 <= QUOTED_NAME)||LA24_0==STRING_LITERAL||LA24_0==UUID||LA24_0==208||LA24_0==213||LA24_0==217||LA24_0==224||LA24_0==228) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// Parser.g:382:13: t1= unaliasedSelector ( ',' tn= unaliasedSelector )*
{
pushFollow(FOLLOW_unaliasedSelector_in_selectionList2081);
t1=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { l.add(t1); }
// Parser.g:382:49: ( ',' tn= unaliasedSelector )*
loop23:
while (true) {
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==212) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// Parser.g:382:51: ',' tn= unaliasedSelector
{
match(input,212,FOLLOW_212_in_selectionList2087); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionList2091);
tn=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { l.add(tn); }
}
break;
default :
break loop23;
}
}
}
break;
}
match(input,226,FOLLOW_226_in_selectionList2101); if (state.failed) return s;
}
if ( state.backtracking==0 ) { s = new Selectable.WithArrayLiteral.Raw(l); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionList"
// $ANTLR start "selectionMapOrSet"
// Parser.g:385:1: selectionMapOrSet returns [Selectable.Raw s] : ( '{' t1= unaliasedSelector (m= selectionMap[t1] |st= selectionSet[t1] ) '}' | '{' '}' );
public final Selectable.Raw selectionMapOrSet() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw t1 =null;
Selectable.Raw m =null;
Selectable.Raw st =null;
try {
// Parser.g:386:5: ( '{' t1= unaliasedSelector (m= selectionMap[t1] |st= selectionSet[t1] ) '}' | '{' '}' )
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==228) ) {
int LA26_1 = input.LA(2);
if ( (LA26_1==229) ) {
alt26=2;
}
else if ( (LA26_1==BOOLEAN||LA26_1==DURATION||LA26_1==FLOAT||LA26_1==HEXNUMBER||(LA26_1 >= IDENT && LA26_1 <= INTEGER)||LA26_1==K_ACCESS||(LA26_1 >= K_AGGREGATE && LA26_1 <= K_ALL)||LA26_1==K_AS||LA26_1==K_ASCII||(LA26_1 >= K_BIGINT && LA26_1 <= K_BOOLEAN)||(LA26_1 >= K_CALLED && LA26_1 <= K_CLUSTERING)||(LA26_1 >= K_COMPACT && LA26_1 <= K_COUNTER)||(LA26_1 >= K_CUSTOM && LA26_1 <= K_DEFAULT)||(LA26_1 >= K_DISTINCT && LA26_1 <= K_DOUBLE)||LA26_1==K_DURATION||(LA26_1 >= K_EXISTS && LA26_1 <= K_FLOAT)||LA26_1==K_FROZEN||(LA26_1 >= K_FUNCTION && LA26_1 <= K_FUNCTIONS)||(LA26_1 >= K_GROUP && LA26_1 <= K_IDENTITY)||(LA26_1 >= K_INET && LA26_1 <= K_INPUT)||(LA26_1 >= K_INT && LA26_1 <= K_INTERNALS)||(LA26_1 >= K_JSON && LA26_1 <= K_KEYS)||(LA26_1 >= K_KEYSPACES && LA26_1 <= K_LIKE)||(LA26_1 >= K_LIST && LA26_1 <= K_MASKED)||(LA26_1 >= K_MAXWRITETIME && LA26_1 <= K_MBEANS)||(LA26_1 >= K_NEGATIVE_INFINITY && LA26_1 <= K_NOLOGIN)||LA26_1==K_NOSUPERUSER||LA26_1==K_NULL||(LA26_1 >= K_ONLY && LA26_1 <= K_OPTIONS)||(LA26_1 >= K_PARTITION && LA26_1 <= K_POSITIVE_NAN)||(LA26_1 >= K_REPLACE && LA26_1 <= K_RETURNS)||(LA26_1 >= K_ROLE && LA26_1 <= K_ROLES)||LA26_1==K_SELECT_MASKED||(LA26_1 >= K_SFUNC && LA26_1 <= K_TINYINT)||(LA26_1 >= K_TOKEN && LA26_1 <= K_TRIGGER)||(LA26_1 >= K_TTL && LA26_1 <= K_TYPES)||(LA26_1 >= K_UNMASK && LA26_1 <= K_UNSET)||(LA26_1 >= K_USER && LA26_1 <= K_USERS)||(LA26_1 >= K_UUID && LA26_1 <= K_VECTOR)||LA26_1==K_WRITETIME||(LA26_1 >= QMARK && LA26_1 <= QUOTED_NAME)||LA26_1==STRING_LITERAL||LA26_1==UUID||LA26_1==208||LA26_1==213||LA26_1==217||LA26_1==224||LA26_1==228) ) {
alt26=1;
}
else {
if (state.backtracking>0) {state.failed=true; return s;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 26, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return s;}
NoViableAltException nvae =
new NoViableAltException("", 26, 0, input);
throw nvae;
}
switch (alt26) {
case 1 :
// Parser.g:386:7: '{' t1= unaliasedSelector (m= selectionMap[t1] |st= selectionSet[t1] ) '}'
{
match(input,228,FOLLOW_228_in_selectionMapOrSet2122); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionMapOrSet2126);
t1=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
// Parser.g:386:32: (m= selectionMap[t1] |st= selectionSet[t1] )
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==217) ) {
alt25=1;
}
else if ( (LA25_0==212||LA25_0==229) ) {
alt25=2;
}
else {
if (state.backtracking>0) {state.failed=true; return s;}
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// Parser.g:386:34: m= selectionMap[t1]
{
pushFollow(FOLLOW_selectionMap_in_selectionMapOrSet2132);
m=selectionMap(t1);
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = m; }
}
break;
case 2 :
// Parser.g:386:67: st= selectionSet[t1]
{
pushFollow(FOLLOW_selectionSet_in_selectionMapOrSet2141);
st=selectionSet(t1);
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = st; }
}
break;
}
match(input,229,FOLLOW_229_in_selectionMapOrSet2147); if (state.failed) return s;
}
break;
case 2 :
// Parser.g:387:7: '{' '}'
{
match(input,228,FOLLOW_228_in_selectionMapOrSet2155); if (state.failed) return s;
match(input,229,FOLLOW_229_in_selectionMapOrSet2157); if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WithSet.Raw(Collections.emptyList());}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionMapOrSet"
// $ANTLR start "selectionMap"
// Parser.g:390:1: selectionMap[Selectable.Raw k1] returns [Selectable.Raw s] : ':' v1= unaliasedSelector ( ',' kn= unaliasedSelector ':' vn= unaliasedSelector )* ;
public final Selectable.Raw selectionMap(Selectable.Raw k1) throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw v1 =null;
Selectable.Raw kn =null;
Selectable.Raw vn =null;
List> m = new ArrayList<>();
try {
// Parser.g:393:7: ( ':' v1= unaliasedSelector ( ',' kn= unaliasedSelector ':' vn= unaliasedSelector )* )
// Parser.g:393:9: ':' v1= unaliasedSelector ( ',' kn= unaliasedSelector ':' vn= unaliasedSelector )*
{
match(input,217,FOLLOW_217_in_selectionMap2202); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionMap2206);
v1=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { m.add(Pair.create(k1, v1)); }
// Parser.g:393:68: ( ',' kn= unaliasedSelector ':' vn= unaliasedSelector )*
loop27:
while (true) {
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==212) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// Parser.g:393:70: ',' kn= unaliasedSelector ':' vn= unaliasedSelector
{
match(input,212,FOLLOW_212_in_selectionMap2214); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionMap2218);
kn=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
match(input,217,FOLLOW_217_in_selectionMap2220); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionMap2224);
vn=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { m.add(Pair.create(kn, vn)); }
}
break;
default :
break loop27;
}
}
}
if ( state.backtracking==0 ) { s = new Selectable.WithMapOrUdt.Raw(m); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionMap"
// $ANTLR start "selectionSet"
// Parser.g:396:1: selectionSet[Selectable.Raw t1] returns [Selectable.Raw s] : ( ',' tn= unaliasedSelector )* ;
public final Selectable.Raw selectionSet(Selectable.Raw t1) throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw tn =null;
List l = new ArrayList<>(); l.add(t1);
try {
// Parser.g:399:7: ( ( ',' tn= unaliasedSelector )* )
// Parser.g:399:9: ( ',' tn= unaliasedSelector )*
{
// Parser.g:399:9: ( ',' tn= unaliasedSelector )*
loop28:
while (true) {
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==212) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// Parser.g:399:11: ',' tn= unaliasedSelector
{
match(input,212,FOLLOW_212_in_selectionSet2276); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionSet2280);
tn=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { l.add(tn); }
}
break;
default :
break loop28;
}
}
}
if ( state.backtracking==0 ) { s = new Selectable.WithSet.Raw(l); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionSet"
// $ANTLR start "selectionTupleOrNestedSelector"
// Parser.g:402:1: selectionTupleOrNestedSelector returns [Selectable.Raw s] : '(' t1= unaliasedSelector ( ',' tn= unaliasedSelector )* ')' ;
public final Selectable.Raw selectionTupleOrNestedSelector() throws RecognitionException {
Selectable.Raw s = null;
Selectable.Raw t1 =null;
Selectable.Raw tn =null;
List l = new ArrayList<>();
try {
// Parser.g:405:5: ( '(' t1= unaliasedSelector ( ',' tn= unaliasedSelector )* ')' )
// Parser.g:405:7: '(' t1= unaliasedSelector ( ',' tn= unaliasedSelector )* ')'
{
match(input,208,FOLLOW_208_in_selectionTupleOrNestedSelector2326); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionTupleOrNestedSelector2330);
t1=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { l.add(t1); }
// Parser.g:405:47: ( ',' tn= unaliasedSelector )*
loop29:
while (true) {
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==212) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// Parser.g:405:48: ',' tn= unaliasedSelector
{
match(input,212,FOLLOW_212_in_selectionTupleOrNestedSelector2335); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionTupleOrNestedSelector2339);
tn=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { l.add(tn); }
}
break;
default :
break loop29;
}
}
match(input,209,FOLLOW_209_in_selectionTupleOrNestedSelector2346); if (state.failed) return s;
}
if ( state.backtracking==0 ) { s = new Selectable.BetweenParenthesesOrWithTuple.Raw(l); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionTupleOrNestedSelector"
// $ANTLR start "simpleUnaliasedSelector"
// Parser.g:412:1: simpleUnaliasedSelector returns [Selectable.Raw s] : (c= sident |l= selectionLiteral |f= selectionFunction );
public final Selectable.Raw simpleUnaliasedSelector() throws RecognitionException {
Selectable.Raw s = null;
Selectable.RawIdentifier c =null;
Term.Raw l =null;
Selectable.Raw f =null;
try {
// Parser.g:413:5: (c= sident |l= selectionLiteral |f= selectionFunction )
int alt30=3;
alt30 = dfa30.predict(input);
switch (alt30) {
case 1 :
// Parser.g:413:7: c= sident
{
pushFollow(FOLLOW_sident_in_simpleUnaliasedSelector2371);
c=sident();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = c; }
}
break;
case 2 :
// Parser.g:414:7: l= selectionLiteral
{
pushFollow(FOLLOW_selectionLiteral_in_simpleUnaliasedSelector2417);
l=selectionLiteral();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WithTerm.Raw(l); }
}
break;
case 3 :
// Parser.g:415:7: f= selectionFunction
{
pushFollow(FOLLOW_selectionFunction_in_simpleUnaliasedSelector2453);
f=selectionFunction();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = f; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "simpleUnaliasedSelector"
// $ANTLR start "selectionFunction"
// Parser.g:418:1: selectionFunction returns [Selectable.Raw s] : ( K_COUNT '(' '\\*' ')' | K_MAXWRITETIME '(' c= sident m= selectorModifier[c] ')' | K_WRITETIME '(' c= sident m= selectorModifier[c] ')' | K_TTL '(' c= sident m= selectorModifier[c] ')' | K_CAST '(' sn= unaliasedSelector K_AS t= native_type ')' |f= functionName args= selectionFunctionArgs );
public final Selectable.Raw selectionFunction() throws RecognitionException {
Selectable.Raw s = null;
Selectable.RawIdentifier c =null;
Selectable.Raw m =null;
Selectable.Raw sn =null;
CQL3Type t =null;
FunctionName f =null;
List args =null;
try {
// Parser.g:419:5: ( K_COUNT '(' '\\*' ')' | K_MAXWRITETIME '(' c= sident m= selectorModifier[c] ')' | K_WRITETIME '(' c= sident m= selectorModifier[c] ')' | K_TTL '(' c= sident m= selectorModifier[c] ')' | K_CAST '(' sn= unaliasedSelector K_AS t= native_type ')' |f= functionName args= selectionFunctionArgs )
int alt31=6;
alt31 = dfa31.predict(input);
switch (alt31) {
case 1 :
// Parser.g:419:7: K_COUNT '(' '\\*' ')'
{
match(input,K_COUNT,FOLLOW_K_COUNT_in_selectionFunction2499); if (state.failed) return s;
match(input,208,FOLLOW_208_in_selectionFunction2508); if (state.failed) return s;
match(input,225,FOLLOW_225_in_selectionFunction2510); if (state.failed) return s;
match(input,209,FOLLOW_209_in_selectionFunction2512); if (state.failed) return s;
if ( state.backtracking==0 ) { s = Selectable.WithFunction.Raw.newCountRowsFunction(); }
}
break;
case 2 :
// Parser.g:420:7: K_MAXWRITETIME '(' c= sident m= selectorModifier[c] ')'
{
match(input,K_MAXWRITETIME,FOLLOW_K_MAXWRITETIME_in_selectionFunction2557); if (state.failed) return s;
match(input,208,FOLLOW_208_in_selectionFunction2559); if (state.failed) return s;
pushFollow(FOLLOW_sident_in_selectionFunction2563);
c=sident();
state._fsp--;
if (state.failed) return s;
pushFollow(FOLLOW_selectorModifier_in_selectionFunction2567);
m=selectorModifier(c);
state._fsp--;
if (state.failed) return s;
match(input,209,FOLLOW_209_in_selectionFunction2570); if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WritetimeOrTTL.Raw(c, m, Selectable.WritetimeOrTTL.Kind.MAX_WRITE_TIME); }
}
break;
case 3 :
// Parser.g:421:7: K_WRITETIME '(' c= sident m= selectorModifier[c] ')'
{
match(input,K_WRITETIME,FOLLOW_K_WRITETIME_in_selectionFunction2589); if (state.failed) return s;
match(input,208,FOLLOW_208_in_selectionFunction2594); if (state.failed) return s;
pushFollow(FOLLOW_sident_in_selectionFunction2598);
c=sident();
state._fsp--;
if (state.failed) return s;
pushFollow(FOLLOW_selectorModifier_in_selectionFunction2602);
m=selectorModifier(c);
state._fsp--;
if (state.failed) return s;
match(input,209,FOLLOW_209_in_selectionFunction2605); if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WritetimeOrTTL.Raw(c, m, Selectable.WritetimeOrTTL.Kind.WRITE_TIME); }
}
break;
case 4 :
// Parser.g:422:7: K_TTL '(' c= sident m= selectorModifier[c] ')'
{
match(input,K_TTL,FOLLOW_K_TTL_in_selectionFunction2624); if (state.failed) return s;
match(input,208,FOLLOW_208_in_selectionFunction2635); if (state.failed) return s;
pushFollow(FOLLOW_sident_in_selectionFunction2639);
c=sident();
state._fsp--;
if (state.failed) return s;
pushFollow(FOLLOW_selectorModifier_in_selectionFunction2643);
m=selectorModifier(c);
state._fsp--;
if (state.failed) return s;
match(input,209,FOLLOW_209_in_selectionFunction2646); if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WritetimeOrTTL.Raw(c, m, Selectable.WritetimeOrTTL.Kind.TTL); }
}
break;
case 5 :
// Parser.g:423:7: K_CAST '(' sn= unaliasedSelector K_AS t= native_type ')'
{
match(input,K_CAST,FOLLOW_K_CAST_in_selectionFunction2665); if (state.failed) return s;
match(input,208,FOLLOW_208_in_selectionFunction2675); if (state.failed) return s;
pushFollow(FOLLOW_unaliasedSelector_in_selectionFunction2679);
sn=unaliasedSelector();
state._fsp--;
if (state.failed) return s;
match(input,K_AS,FOLLOW_K_AS_in_selectionFunction2681); if (state.failed) return s;
pushFollow(FOLLOW_native_type_in_selectionFunction2685);
t=native_type();
state._fsp--;
if (state.failed) return s;
match(input,209,FOLLOW_209_in_selectionFunction2687); if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WithCast.Raw(sn, t);}
}
break;
case 6 :
// Parser.g:424:7: f= functionName args= selectionFunctionArgs
{
pushFollow(FOLLOW_functionName_in_selectionFunction2699);
f=functionName();
state._fsp--;
if (state.failed) return s;
pushFollow(FOLLOW_selectionFunctionArgs_in_selectionFunction2703);
args=selectionFunctionArgs();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = new Selectable.WithFunction.Raw(f, args); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "selectionFunction"
// $ANTLR start "selectionLiteral"
// Parser.g:427:1: selectionLiteral returns [Term.Raw value] : (c= constant | K_NULL | ':' id= noncol_ident | QMARK );
public final Term.Raw selectionLiteral() throws RecognitionException {
Term.Raw value = null;
Constants.Literal c =null;
ColumnIdentifier id =null;
try {
// Parser.g:428:5: (c= constant | K_NULL | ':' id= noncol_ident | QMARK )
int alt32=4;
switch ( input.LA(1) ) {
case BOOLEAN:
case DURATION:
case FLOAT:
case HEXNUMBER:
case INTEGER:
case K_NEGATIVE_INFINITY:
case K_NEGATIVE_NAN:
case K_POSITIVE_INFINITY:
case K_POSITIVE_NAN:
case STRING_LITERAL:
case UUID:
{
alt32=1;
}
break;
case K_NULL:
{
alt32=2;
}
break;
case 217:
{
alt32=3;
}
break;
case QMARK:
{
alt32=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return value;}
NoViableAltException nvae =
new NoViableAltException("", 32, 0, input);
throw nvae;
}
switch (alt32) {
case 1 :
// Parser.g:428:7: c= constant
{
pushFollow(FOLLOW_constant_in_selectionLiteral2749);
c=constant();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = c; }
}
break;
case 2 :
// Parser.g:429:7: K_NULL
{
match(input,K_NULL,FOLLOW_K_NULL_in_selectionLiteral2779); if (state.failed) return value;
if ( state.backtracking==0 ) { value = Constants.NULL_LITERAL; }
}
break;
case 3 :
// Parser.g:430:7: ':' id= noncol_ident
{
match(input,217,FOLLOW_217_in_selectionLiteral2813); if (state.failed) return value;
pushFollow(FOLLOW_noncol_ident_in_selectionLiteral2817);
id=noncol_ident();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = newBindVariables(id); }
}
break;
case 4 :
// Parser.g:431:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_selectionLiteral2838); if (state.failed) return value;
if ( state.backtracking==0 ) { value = newBindVariables(null); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "selectionLiteral"
// $ANTLR start "selectionFunctionArgs"
// Parser.g:434:1: selectionFunctionArgs returns [List a] : '(' (s1= unaliasedSelector ( ',' sn= unaliasedSelector )* )? ')' ;
public final List selectionFunctionArgs() throws RecognitionException {
List a = null;
Selectable.Raw s1 =null;
Selectable.Raw sn =null;
a = new ArrayList<>();
try {
// Parser.g:436:5: ( '(' (s1= unaliasedSelector ( ',' sn= unaliasedSelector )* )? ')' )
// Parser.g:436:7: '(' (s1= unaliasedSelector ( ',' sn= unaliasedSelector )* )? ')'
{
match(input,208,FOLLOW_208_in_selectionFunctionArgs2894); if (state.failed) return a;
// Parser.g:436:11: (s1= unaliasedSelector ( ',' sn= unaliasedSelector )* )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==BOOLEAN||LA34_0==DURATION||LA34_0==FLOAT||LA34_0==HEXNUMBER||(LA34_0 >= IDENT && LA34_0 <= INTEGER)||LA34_0==K_ACCESS||(LA34_0 >= K_AGGREGATE && LA34_0 <= K_ALL)||LA34_0==K_AS||LA34_0==K_ASCII||(LA34_0 >= K_BIGINT && LA34_0 <= K_BOOLEAN)||(LA34_0 >= K_CALLED && LA34_0 <= K_CLUSTERING)||(LA34_0 >= K_COMPACT && LA34_0 <= K_COUNTER)||(LA34_0 >= K_CUSTOM && LA34_0 <= K_DEFAULT)||(LA34_0 >= K_DISTINCT && LA34_0 <= K_DOUBLE)||LA34_0==K_DURATION||(LA34_0 >= K_EXISTS && LA34_0 <= K_FLOAT)||LA34_0==K_FROZEN||(LA34_0 >= K_FUNCTION && LA34_0 <= K_FUNCTIONS)||(LA34_0 >= K_GROUP && LA34_0 <= K_IDENTITY)||(LA34_0 >= K_INET && LA34_0 <= K_INPUT)||(LA34_0 >= K_INT && LA34_0 <= K_INTERNALS)||(LA34_0 >= K_JSON && LA34_0 <= K_KEYS)||(LA34_0 >= K_KEYSPACES && LA34_0 <= K_LIKE)||(LA34_0 >= K_LIST && LA34_0 <= K_MASKED)||(LA34_0 >= K_MAXWRITETIME && LA34_0 <= K_MBEANS)||(LA34_0 >= K_NEGATIVE_INFINITY && LA34_0 <= K_NOLOGIN)||LA34_0==K_NOSUPERUSER||LA34_0==K_NULL||(LA34_0 >= K_ONLY && LA34_0 <= K_OPTIONS)||(LA34_0 >= K_PARTITION && LA34_0 <= K_POSITIVE_NAN)||(LA34_0 >= K_REPLACE && LA34_0 <= K_RETURNS)||(LA34_0 >= K_ROLE && LA34_0 <= K_ROLES)||LA34_0==K_SELECT_MASKED||(LA34_0 >= K_SFUNC && LA34_0 <= K_TINYINT)||(LA34_0 >= K_TOKEN && LA34_0 <= K_TRIGGER)||(LA34_0 >= K_TTL && LA34_0 <= K_TYPES)||(LA34_0 >= K_UNMASK && LA34_0 <= K_UNSET)||(LA34_0 >= K_USER && LA34_0 <= K_USERS)||(LA34_0 >= K_UUID && LA34_0 <= K_VECTOR)||LA34_0==K_WRITETIME||(LA34_0 >= QMARK && LA34_0 <= QUOTED_NAME)||LA34_0==STRING_LITERAL||LA34_0==UUID||LA34_0==208||LA34_0==213||LA34_0==217||LA34_0==224||LA34_0==228) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// Parser.g:436:12: s1= unaliasedSelector ( ',' sn= unaliasedSelector )*
{
pushFollow(FOLLOW_unaliasedSelector_in_selectionFunctionArgs2899);
s1=unaliasedSelector();
state._fsp--;
if (state.failed) return a;
if ( state.backtracking==0 ) { a.add(s1); }
// Parser.g:437:11: ( ',' sn= unaliasedSelector )*
loop33:
while (true) {
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==212) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// Parser.g:437:13: ',' sn= unaliasedSelector
{
match(input,212,FOLLOW_212_in_selectionFunctionArgs2915); if (state.failed) return a;
pushFollow(FOLLOW_unaliasedSelector_in_selectionFunctionArgs2919);
sn=unaliasedSelector();
state._fsp--;
if (state.failed) return a;
if ( state.backtracking==0 ) { a.add(sn); }
}
break;
default :
break loop33;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_selectionFunctionArgs2934); if (state.failed) return a;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return a;
}
// $ANTLR end "selectionFunctionArgs"
// $ANTLR start "sident"
// Parser.g:441:1: sident returns [Selectable.RawIdentifier id] : (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword );
public final Selectable.RawIdentifier sident() throws RecognitionException {
Selectable.RawIdentifier id = null;
Token t=null;
String k =null;
try {
// Parser.g:442:5: (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword )
int alt35=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt35=1;
}
break;
case QUOTED_NAME:
{
alt35=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt35=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return id;}
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
// Parser.g:442:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_sident2957); if (state.failed) return id;
if ( state.backtracking==0 ) { id = Selectable.RawIdentifier.forUnquoted((t!=null?t.getText():null)); }
}
break;
case 2 :
// Parser.g:443:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_sident2982); if (state.failed) return id;
if ( state.backtracking==0 ) { id = Selectable.RawIdentifier.forQuoted((t!=null?t.getText():null)); }
}
break;
case 3 :
// Parser.g:444:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_sident3001);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return id;
if ( state.backtracking==0 ) { id = Selectable.RawIdentifier.forUnquoted(k); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return id;
}
// $ANTLR end "sident"
// $ANTLR start "whereClause"
// Parser.g:447:1: whereClause returns [WhereClause.Builder clause] : relationOrExpression[$clause] ( K_AND relationOrExpression[$clause] )* ;
public final WhereClause.Builder whereClause() throws RecognitionException {
WhereClause.Builder clause = null;
clause = new WhereClause.Builder();
try {
// Parser.g:449:5: ( relationOrExpression[$clause] ( K_AND relationOrExpression[$clause] )* )
// Parser.g:449:7: relationOrExpression[$clause] ( K_AND relationOrExpression[$clause] )*
{
pushFollow(FOLLOW_relationOrExpression_in_whereClause3032);
relationOrExpression(clause);
state._fsp--;
if (state.failed) return clause;
// Parser.g:449:37: ( K_AND relationOrExpression[$clause] )*
loop36:
while (true) {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==K_AND) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// Parser.g:449:38: K_AND relationOrExpression[$clause]
{
match(input,K_AND,FOLLOW_K_AND_in_whereClause3036); if (state.failed) return clause;
pushFollow(FOLLOW_relationOrExpression_in_whereClause3038);
relationOrExpression(clause);
state._fsp--;
if (state.failed) return clause;
}
break;
default :
break loop36;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return clause;
}
// $ANTLR end "whereClause"
// $ANTLR start "relationOrExpression"
// Parser.g:452:1: relationOrExpression[WhereClause.Builder clause] : ( relation[$clause] | customIndexExpression[$clause] );
public final void relationOrExpression(WhereClause.Builder clause) throws RecognitionException {
try {
// Parser.g:453:5: ( relation[$clause] | customIndexExpression[$clause] )
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==EMPTY_QUOTED_NAME||LA37_0==IDENT||LA37_0==K_ACCESS||(LA37_0 >= K_AGGREGATE && LA37_0 <= K_ALL)||LA37_0==K_AS||LA37_0==K_ASCII||(LA37_0 >= K_BIGINT && LA37_0 <= K_BOOLEAN)||(LA37_0 >= K_CALLED && LA37_0 <= K_CLUSTERING)||(LA37_0 >= K_COMPACT && LA37_0 <= K_COUNTER)||(LA37_0 >= K_CUSTOM && LA37_0 <= K_DEFAULT)||(LA37_0 >= K_DISTINCT && LA37_0 <= K_DOUBLE)||LA37_0==K_DURATION||(LA37_0 >= K_EXISTS && LA37_0 <= K_FLOAT)||LA37_0==K_FROZEN||(LA37_0 >= K_FUNCTION && LA37_0 <= K_FUNCTIONS)||(LA37_0 >= K_GROUP && LA37_0 <= K_IDENTITY)||(LA37_0 >= K_INET && LA37_0 <= K_INPUT)||(LA37_0 >= K_INT && LA37_0 <= K_INTERNALS)||(LA37_0 >= K_JSON && LA37_0 <= K_KEYS)||(LA37_0 >= K_KEYSPACES && LA37_0 <= K_LIKE)||(LA37_0 >= K_LIST && LA37_0 <= K_MASKED)||(LA37_0 >= K_MAXWRITETIME && LA37_0 <= K_MBEANS)||LA37_0==K_NOLOGIN||LA37_0==K_NOSUPERUSER||(LA37_0 >= K_ONLY && LA37_0 <= K_OPTIONS)||(LA37_0 >= K_PARTITION && LA37_0 <= K_PERMISSIONS)||(LA37_0 >= K_REPLACE && LA37_0 <= K_RETURNS)||(LA37_0 >= K_ROLE && LA37_0 <= K_ROLES)||LA37_0==K_SELECT_MASKED||(LA37_0 >= K_SFUNC && LA37_0 <= K_TINYINT)||(LA37_0 >= K_TOKEN && LA37_0 <= K_TRIGGER)||(LA37_0 >= K_TTL && LA37_0 <= K_TYPES)||(LA37_0 >= K_UNMASK && LA37_0 <= K_UNSET)||(LA37_0 >= K_USER && LA37_0 <= K_USERS)||(LA37_0 >= K_UUID && LA37_0 <= K_VECTOR)||LA37_0==K_WRITETIME||LA37_0==QUOTED_NAME||LA37_0==208) ) {
alt37=1;
}
else if ( (LA37_0==227) ) {
alt37=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 37, 0, input);
throw nvae;
}
switch (alt37) {
case 1 :
// Parser.g:453:7: relation[$clause]
{
pushFollow(FOLLOW_relation_in_relationOrExpression3060);
relation(clause);
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
// Parser.g:454:7: customIndexExpression[$clause]
{
pushFollow(FOLLOW_customIndexExpression_in_relationOrExpression3069);
customIndexExpression(clause);
state._fsp--;
if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "relationOrExpression"
// $ANTLR start "customIndexExpression"
// Parser.g:457:1: customIndexExpression[WhereClause.Builder clause] : 'expr(' idxName[name] ',' t= term ')' ;
public final void customIndexExpression(WhereClause.Builder clause) throws RecognitionException {
Term.Raw t =null;
QualifiedName name = new QualifiedName();
try {
// Parser.g:459:5: ( 'expr(' idxName[name] ',' t= term ')' )
// Parser.g:459:7: 'expr(' idxName[name] ',' t= term ')'
{
match(input,227,FOLLOW_227_in_customIndexExpression3097); if (state.failed) return;
pushFollow(FOLLOW_idxName_in_customIndexExpression3099);
idxName(name);
state._fsp--;
if (state.failed) return;
match(input,212,FOLLOW_212_in_customIndexExpression3102); if (state.failed) return;
pushFollow(FOLLOW_term_in_customIndexExpression3106);
t=term();
state._fsp--;
if (state.failed) return;
match(input,209,FOLLOW_209_in_customIndexExpression3108); if (state.failed) return;
if ( state.backtracking==0 ) { clause.add(new CustomIndexExpression(name, t));}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "customIndexExpression"
// $ANTLR start "orderByClause"
// Parser.g:462:1: orderByClause[Map orderings] : c= cident ( K_ASC | K_DESC )? ;
public final void orderByClause(Map orderings) throws RecognitionException {
ColumnIdentifier c =null;
boolean reversed = false;
try {
// Parser.g:466:5: (c= cident ( K_ASC | K_DESC )? )
// Parser.g:466:7: c= cident ( K_ASC | K_DESC )?
{
pushFollow(FOLLOW_cident_in_orderByClause3138);
c=cident();
state._fsp--;
if (state.failed) return;
// Parser.g:466:16: ( K_ASC | K_DESC )?
int alt38=3;
int LA38_0 = input.LA(1);
if ( (LA38_0==K_ASC) ) {
alt38=1;
}
else if ( (LA38_0==K_DESC) ) {
alt38=2;
}
switch (alt38) {
case 1 :
// Parser.g:466:17: K_ASC
{
match(input,K_ASC,FOLLOW_K_ASC_in_orderByClause3141); if (state.failed) return;
}
break;
case 2 :
// Parser.g:466:25: K_DESC
{
match(input,K_DESC,FOLLOW_K_DESC_in_orderByClause3145); if (state.failed) return;
if ( state.backtracking==0 ) { reversed = true; }
}
break;
}
if ( state.backtracking==0 ) { orderings.put(c, reversed); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "orderByClause"
// $ANTLR start "groupByClause"
// Parser.g:469:1: groupByClause[List groups] : s= unaliasedSelector ;
public final void groupByClause(List groups) throws RecognitionException {
Selectable.Raw s =null;
try {
// Parser.g:470:5: (s= unaliasedSelector )
// Parser.g:470:7: s= unaliasedSelector
{
pushFollow(FOLLOW_unaliasedSelector_in_groupByClause3171);
s=unaliasedSelector();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { groups.add(s); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "groupByClause"
// $ANTLR start "insertStatement"
// Parser.g:479:1: insertStatement returns [ModificationStatement.Parsed expr] : K_INSERT K_INTO cf= columnFamilyName (st1= normalInsertStatement[cf] | K_JSON st2= jsonInsertStatement[cf] ) ;
public final ModificationStatement.Parsed insertStatement() throws RecognitionException {
ModificationStatement.Parsed expr = null;
QualifiedName cf =null;
UpdateStatement.ParsedInsert st1 =null;
UpdateStatement.ParsedInsertJson st2 =null;
try {
// Parser.g:480:5: ( K_INSERT K_INTO cf= columnFamilyName (st1= normalInsertStatement[cf] | K_JSON st2= jsonInsertStatement[cf] ) )
// Parser.g:480:7: K_INSERT K_INTO cf= columnFamilyName (st1= normalInsertStatement[cf] | K_JSON st2= jsonInsertStatement[cf] )
{
match(input,K_INSERT,FOLLOW_K_INSERT_in_insertStatement3196); if (state.failed) return expr;
match(input,K_INTO,FOLLOW_K_INTO_in_insertStatement3198); if (state.failed) return expr;
pushFollow(FOLLOW_columnFamilyName_in_insertStatement3202);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return expr;
// Parser.g:481:9: (st1= normalInsertStatement[cf] | K_JSON st2= jsonInsertStatement[cf] )
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==208) ) {
alt39=1;
}
else if ( (LA39_0==K_JSON) ) {
alt39=2;
}
else {
if (state.backtracking>0) {state.failed=true; return expr;}
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1 :
// Parser.g:481:11: st1= normalInsertStatement[cf]
{
pushFollow(FOLLOW_normalInsertStatement_in_insertStatement3216);
st1=normalInsertStatement(cf);
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { expr = st1; }
}
break;
case 2 :
// Parser.g:482:11: K_JSON st2= jsonInsertStatement[cf]
{
match(input,K_JSON,FOLLOW_K_JSON_in_insertStatement3231); if (state.failed) return expr;
pushFollow(FOLLOW_jsonInsertStatement_in_insertStatement3235);
st2=jsonInsertStatement(cf);
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { expr = st2; }
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "insertStatement"
// $ANTLR start "normalInsertStatement"
// Parser.g:485:1: normalInsertStatement[QualifiedName qn] returns [UpdateStatement.ParsedInsert expr] : '(' c1= cident ( ',' cn= cident )* ')' K_VALUES '(' v1= term ( ',' vn= term )* ')' ( K_IF K_NOT K_EXISTS )? ( usingClause[attrs] )? ;
public final UpdateStatement.ParsedInsert normalInsertStatement(QualifiedName qn) throws RecognitionException {
UpdateStatement.ParsedInsert expr = null;
ColumnIdentifier c1 =null;
ColumnIdentifier cn =null;
Term.Raw v1 =null;
Term.Raw vn =null;
Attributes.Raw attrs = new Attributes.Raw();
List columnNames = new ArrayList<>();
List values = new ArrayList<>();
boolean ifNotExists = false;
try {
// Parser.g:492:5: ( '(' c1= cident ( ',' cn= cident )* ')' K_VALUES '(' v1= term ( ',' vn= term )* ')' ( K_IF K_NOT K_EXISTS )? ( usingClause[attrs] )? )
// Parser.g:492:7: '(' c1= cident ( ',' cn= cident )* ')' K_VALUES '(' v1= term ( ',' vn= term )* ')' ( K_IF K_NOT K_EXISTS )? ( usingClause[attrs] )?
{
match(input,208,FOLLOW_208_in_normalInsertStatement3271); if (state.failed) return expr;
pushFollow(FOLLOW_cident_in_normalInsertStatement3275);
c1=cident();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { columnNames.add(c1); }
// Parser.g:492:47: ( ',' cn= cident )*
loop40:
while (true) {
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==212) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// Parser.g:492:49: ',' cn= cident
{
match(input,212,FOLLOW_212_in_normalInsertStatement3282); if (state.failed) return expr;
pushFollow(FOLLOW_cident_in_normalInsertStatement3286);
cn=cident();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { columnNames.add(cn); }
}
break;
default :
break loop40;
}
}
match(input,209,FOLLOW_209_in_normalInsertStatement3293); if (state.failed) return expr;
match(input,K_VALUES,FOLLOW_K_VALUES_in_normalInsertStatement3301); if (state.failed) return expr;
match(input,208,FOLLOW_208_in_normalInsertStatement3309); if (state.failed) return expr;
pushFollow(FOLLOW_term_in_normalInsertStatement3313);
v1=term();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { values.add(v1); }
// Parser.g:494:39: ( ',' vn= term )*
loop41:
while (true) {
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==212) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// Parser.g:494:41: ',' vn= term
{
match(input,212,FOLLOW_212_in_normalInsertStatement3319); if (state.failed) return expr;
pushFollow(FOLLOW_term_in_normalInsertStatement3323);
vn=term();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { values.add(vn); }
}
break;
default :
break loop41;
}
}
match(input,209,FOLLOW_209_in_normalInsertStatement3330); if (state.failed) return expr;
// Parser.g:495:7: ( K_IF K_NOT K_EXISTS )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==K_IF) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// Parser.g:495:9: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_normalInsertStatement3340); if (state.failed) return expr;
match(input,K_NOT,FOLLOW_K_NOT_in_normalInsertStatement3342); if (state.failed) return expr;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_normalInsertStatement3344); if (state.failed) return expr;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
// Parser.g:496:7: ( usingClause[attrs] )?
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==K_USING) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// Parser.g:496:9: usingClause[attrs]
{
pushFollow(FOLLOW_usingClause_in_normalInsertStatement3359);
usingClause(attrs);
state._fsp--;
if (state.failed) return expr;
}
break;
}
if ( state.backtracking==0 ) {
expr = new UpdateStatement.ParsedInsert(qn, attrs, columnNames, values, ifNotExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "normalInsertStatement"
// $ANTLR start "jsonInsertStatement"
// Parser.g:502:1: jsonInsertStatement[QualifiedName qn] returns [UpdateStatement.ParsedInsertJson expr] : val= jsonValue ( K_DEFAULT ( K_NULL | ( K_UNSET ) ) )? ( K_IF K_NOT K_EXISTS )? ( usingClause[attrs] )? ;
public final UpdateStatement.ParsedInsertJson jsonInsertStatement(QualifiedName qn) throws RecognitionException {
UpdateStatement.ParsedInsertJson expr = null;
Json.Raw val =null;
Attributes.Raw attrs = new Attributes.Raw();
boolean ifNotExists = false;
boolean defaultUnset = false;
try {
// Parser.g:508:5: (val= jsonValue ( K_DEFAULT ( K_NULL | ( K_UNSET ) ) )? ( K_IF K_NOT K_EXISTS )? ( usingClause[attrs] )? )
// Parser.g:508:7: val= jsonValue ( K_DEFAULT ( K_NULL | ( K_UNSET ) ) )? ( K_IF K_NOT K_EXISTS )? ( usingClause[attrs] )?
{
pushFollow(FOLLOW_jsonValue_in_jsonInsertStatement3405);
val=jsonValue();
state._fsp--;
if (state.failed) return expr;
// Parser.g:509:7: ( K_DEFAULT ( K_NULL | ( K_UNSET ) ) )?
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==K_DEFAULT) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// Parser.g:509:9: K_DEFAULT ( K_NULL | ( K_UNSET ) )
{
match(input,K_DEFAULT,FOLLOW_K_DEFAULT_in_jsonInsertStatement3415); if (state.failed) return expr;
// Parser.g:509:19: ( K_NULL | ( K_UNSET ) )
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==K_NULL) ) {
alt44=1;
}
else if ( (LA44_0==K_UNSET) ) {
alt44=2;
}
else {
if (state.backtracking>0) {state.failed=true; return expr;}
NoViableAltException nvae =
new NoViableAltException("", 44, 0, input);
throw nvae;
}
switch (alt44) {
case 1 :
// Parser.g:509:21: K_NULL
{
match(input,K_NULL,FOLLOW_K_NULL_in_jsonInsertStatement3419); if (state.failed) return expr;
}
break;
case 2 :
// Parser.g:509:30: ( K_UNSET )
{
// Parser.g:509:30: ( K_UNSET )
// Parser.g:509:32: K_UNSET
{
if ( state.backtracking==0 ) { defaultUnset = true; }
match(input,K_UNSET,FOLLOW_K_UNSET_in_jsonInsertStatement3427); if (state.failed) return expr;
}
}
break;
}
}
break;
}
// Parser.g:510:7: ( K_IF K_NOT K_EXISTS )?
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==K_IF) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// Parser.g:510:9: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_jsonInsertStatement3443); if (state.failed) return expr;
match(input,K_NOT,FOLLOW_K_NOT_in_jsonInsertStatement3445); if (state.failed) return expr;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_jsonInsertStatement3447); if (state.failed) return expr;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
// Parser.g:511:7: ( usingClause[attrs] )?
int alt47=2;
int LA47_0 = input.LA(1);
if ( (LA47_0==K_USING) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// Parser.g:511:9: usingClause[attrs]
{
pushFollow(FOLLOW_usingClause_in_jsonInsertStatement3462);
usingClause(attrs);
state._fsp--;
if (state.failed) return expr;
}
break;
}
if ( state.backtracking==0 ) {
expr = new UpdateStatement.ParsedInsertJson(qn, attrs, val, defaultUnset, ifNotExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "jsonInsertStatement"
// $ANTLR start "jsonValue"
// Parser.g:517:1: jsonValue returns [Json.Raw value] : (s= STRING_LITERAL | ':' id= noncol_ident | QMARK );
public final Json.Raw jsonValue() throws RecognitionException {
Json.Raw value = null;
Token s=null;
ColumnIdentifier id =null;
try {
// Parser.g:518:5: (s= STRING_LITERAL | ':' id= noncol_ident | QMARK )
int alt48=3;
switch ( input.LA(1) ) {
case STRING_LITERAL:
{
alt48=1;
}
break;
case 217:
{
alt48=2;
}
break;
case QMARK:
{
alt48=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return value;}
NoViableAltException nvae =
new NoViableAltException("", 48, 0, input);
throw nvae;
}
switch (alt48) {
case 1 :
// Parser.g:518:7: s= STRING_LITERAL
{
s=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_jsonValue3497); if (state.failed) return value;
if ( state.backtracking==0 ) { value = new Json.Literal((s!=null?s.getText():null)); }
}
break;
case 2 :
// Parser.g:519:7: ':' id= noncol_ident
{
match(input,217,FOLLOW_217_in_jsonValue3507); if (state.failed) return value;
pushFollow(FOLLOW_noncol_ident_in_jsonValue3511);
id=noncol_ident();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = newJsonBindVariables(id); }
}
break;
case 3 :
// Parser.g:520:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_jsonValue3525); if (state.failed) return value;
if ( state.backtracking==0 ) { value = newJsonBindVariables(null); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "jsonValue"
// $ANTLR start "usingClause"
// Parser.g:523:1: usingClause[Attributes.Raw attrs] : K_USING usingClauseObjective[attrs] ( K_AND usingClauseObjective[attrs] )* ;
public final void usingClause(Attributes.Raw attrs) throws RecognitionException {
try {
// Parser.g:524:5: ( K_USING usingClauseObjective[attrs] ( K_AND usingClauseObjective[attrs] )* )
// Parser.g:524:7: K_USING usingClauseObjective[attrs] ( K_AND usingClauseObjective[attrs] )*
{
match(input,K_USING,FOLLOW_K_USING_in_usingClause3556); if (state.failed) return;
pushFollow(FOLLOW_usingClauseObjective_in_usingClause3558);
usingClauseObjective(attrs);
state._fsp--;
if (state.failed) return;
// Parser.g:524:43: ( K_AND usingClauseObjective[attrs] )*
loop49:
while (true) {
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==K_AND) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// Parser.g:524:45: K_AND usingClauseObjective[attrs]
{
match(input,K_AND,FOLLOW_K_AND_in_usingClause3563); if (state.failed) return;
pushFollow(FOLLOW_usingClauseObjective_in_usingClause3565);
usingClauseObjective(attrs);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop49;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "usingClause"
// $ANTLR start "usingClauseObjective"
// Parser.g:527:1: usingClauseObjective[Attributes.Raw attrs] : ( K_TIMESTAMP ts= intValue | K_TTL t= intValue );
public final void usingClauseObjective(Attributes.Raw attrs) throws RecognitionException {
Term.Raw ts =null;
Term.Raw t =null;
try {
// Parser.g:528:5: ( K_TIMESTAMP ts= intValue | K_TTL t= intValue )
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==K_TIMESTAMP) ) {
alt50=1;
}
else if ( (LA50_0==K_TTL) ) {
alt50=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 50, 0, input);
throw nvae;
}
switch (alt50) {
case 1 :
// Parser.g:528:7: K_TIMESTAMP ts= intValue
{
match(input,K_TIMESTAMP,FOLLOW_K_TIMESTAMP_in_usingClauseObjective3587); if (state.failed) return;
pushFollow(FOLLOW_intValue_in_usingClauseObjective3591);
ts=intValue();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { attrs.timestamp = ts; }
}
break;
case 2 :
// Parser.g:529:7: K_TTL t= intValue
{
match(input,K_TTL,FOLLOW_K_TTL_in_usingClauseObjective3601); if (state.failed) return;
pushFollow(FOLLOW_intValue_in_usingClauseObjective3605);
t=intValue();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { attrs.timeToLive = t; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "usingClauseObjective"
// $ANTLR start "updateStatement"
// Parser.g:539:1: updateStatement returns [UpdateStatement.ParsedUpdate expr] : K_UPDATE cf= columnFamilyName ( usingClause[attrs] )? K_SET columnOperation[operations] ( ',' columnOperation[operations] )* K_WHERE wclause= whereClause ( K_IF ( K_EXISTS |conditions= updateConditions ) )? ;
public final UpdateStatement.ParsedUpdate updateStatement() throws RecognitionException {
UpdateStatement.ParsedUpdate expr = null;
QualifiedName cf =null;
WhereClause.Builder wclause =null;
List> conditions =null;
Attributes.Raw attrs = new Attributes.Raw();
List> operations = new ArrayList<>();
boolean ifExists = false;
try {
// Parser.g:545:5: ( K_UPDATE cf= columnFamilyName ( usingClause[attrs] )? K_SET columnOperation[operations] ( ',' columnOperation[operations] )* K_WHERE wclause= whereClause ( K_IF ( K_EXISTS |conditions= updateConditions ) )? )
// Parser.g:545:7: K_UPDATE cf= columnFamilyName ( usingClause[attrs] )? K_SET columnOperation[operations] ( ',' columnOperation[operations] )* K_WHERE wclause= whereClause ( K_IF ( K_EXISTS |conditions= updateConditions ) )?
{
match(input,K_UPDATE,FOLLOW_K_UPDATE_in_updateStatement3639); if (state.failed) return expr;
pushFollow(FOLLOW_columnFamilyName_in_updateStatement3643);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return expr;
// Parser.g:546:7: ( usingClause[attrs] )?
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==K_USING) ) {
alt51=1;
}
switch (alt51) {
case 1 :
// Parser.g:546:9: usingClause[attrs]
{
pushFollow(FOLLOW_usingClause_in_updateStatement3653);
usingClause(attrs);
state._fsp--;
if (state.failed) return expr;
}
break;
}
match(input,K_SET,FOLLOW_K_SET_in_updateStatement3665); if (state.failed) return expr;
pushFollow(FOLLOW_columnOperation_in_updateStatement3667);
columnOperation(operations);
state._fsp--;
if (state.failed) return expr;
// Parser.g:547:41: ( ',' columnOperation[operations] )*
loop52:
while (true) {
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==212) ) {
alt52=1;
}
switch (alt52) {
case 1 :
// Parser.g:547:42: ',' columnOperation[operations]
{
match(input,212,FOLLOW_212_in_updateStatement3671); if (state.failed) return expr;
pushFollow(FOLLOW_columnOperation_in_updateStatement3673);
columnOperation(operations);
state._fsp--;
if (state.failed) return expr;
}
break;
default :
break loop52;
}
}
match(input,K_WHERE,FOLLOW_K_WHERE_in_updateStatement3684); if (state.failed) return expr;
pushFollow(FOLLOW_whereClause_in_updateStatement3688);
wclause=whereClause();
state._fsp--;
if (state.failed) return expr;
// Parser.g:549:7: ( K_IF ( K_EXISTS |conditions= updateConditions ) )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==K_IF) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// Parser.g:549:9: K_IF ( K_EXISTS |conditions= updateConditions )
{
match(input,K_IF,FOLLOW_K_IF_in_updateStatement3698); if (state.failed) return expr;
// Parser.g:549:14: ( K_EXISTS |conditions= updateConditions )
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==K_EXISTS) ) {
int LA53_1 = input.LA(2);
if ( (LA53_1==EOF||LA53_1==K_APPLY||LA53_1==K_DELETE||LA53_1==K_INSERT||LA53_1==K_UPDATE||LA53_1==218) ) {
alt53=1;
}
else if ( (LA53_1==K_CONTAINS||LA53_1==K_IN||LA53_1==206||LA53_1==215||(LA53_1 >= 219 && LA53_1 <= 224)) ) {
alt53=2;
}
else {
if (state.backtracking>0) {state.failed=true; return expr;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 53, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA53_0==EMPTY_QUOTED_NAME||LA53_0==IDENT||LA53_0==K_ACCESS||(LA53_0 >= K_AGGREGATE && LA53_0 <= K_ALL)||LA53_0==K_AS||LA53_0==K_ASCII||(LA53_0 >= K_BIGINT && LA53_0 <= K_BOOLEAN)||(LA53_0 >= K_CALLED && LA53_0 <= K_CLUSTERING)||(LA53_0 >= K_COMPACT && LA53_0 <= K_COUNTER)||(LA53_0 >= K_CUSTOM && LA53_0 <= K_DEFAULT)||(LA53_0 >= K_DISTINCT && LA53_0 <= K_DOUBLE)||LA53_0==K_DURATION||(LA53_0 >= K_FILTERING && LA53_0 <= K_FLOAT)||LA53_0==K_FROZEN||(LA53_0 >= K_FUNCTION && LA53_0 <= K_FUNCTIONS)||(LA53_0 >= K_GROUP && LA53_0 <= K_IDENTITY)||(LA53_0 >= K_INET && LA53_0 <= K_INPUT)||(LA53_0 >= K_INT && LA53_0 <= K_INTERNALS)||(LA53_0 >= K_JSON && LA53_0 <= K_KEYS)||(LA53_0 >= K_KEYSPACES && LA53_0 <= K_LIKE)||(LA53_0 >= K_LIST && LA53_0 <= K_MASKED)||(LA53_0 >= K_MAXWRITETIME && LA53_0 <= K_MBEANS)||LA53_0==K_NOLOGIN||LA53_0==K_NOSUPERUSER||(LA53_0 >= K_ONLY && LA53_0 <= K_OPTIONS)||(LA53_0 >= K_PARTITION && LA53_0 <= K_PERMISSIONS)||(LA53_0 >= K_REPLACE && LA53_0 <= K_RETURNS)||(LA53_0 >= K_ROLE && LA53_0 <= K_ROLES)||LA53_0==K_SELECT_MASKED||(LA53_0 >= K_SFUNC && LA53_0 <= K_TINYINT)||LA53_0==K_TRIGGER||(LA53_0 >= K_TTL && LA53_0 <= K_TYPES)||(LA53_0 >= K_UNMASK && LA53_0 <= K_UNSET)||(LA53_0 >= K_USER && LA53_0 <= K_USERS)||(LA53_0 >= K_UUID && LA53_0 <= K_VECTOR)||LA53_0==K_WRITETIME||LA53_0==QUOTED_NAME) ) {
alt53=2;
}
else {
if (state.backtracking>0) {state.failed=true; return expr;}
NoViableAltException nvae =
new NoViableAltException("", 53, 0, input);
throw nvae;
}
switch (alt53) {
case 1 :
// Parser.g:549:16: K_EXISTS
{
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_updateStatement3702); if (state.failed) return expr;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
case 2 :
// Parser.g:549:48: conditions= updateConditions
{
pushFollow(FOLLOW_updateConditions_in_updateStatement3710);
conditions=updateConditions();
state._fsp--;
if (state.failed) return expr;
}
break;
}
}
break;
}
if ( state.backtracking==0 ) {
expr = new UpdateStatement.ParsedUpdate(cf,
attrs,
operations,
wclause.build(),
conditions == null ? Collections.>emptyList() : conditions,
ifExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "updateStatement"
// $ANTLR start "updateConditions"
// Parser.g:560:1: updateConditions returns [List> conditions] : columnCondition[conditions] ( K_AND columnCondition[conditions] )* ;
public final List> updateConditions() throws RecognitionException {
List> conditions = null;
conditions = new ArrayList>();
try {
// Parser.g:562:5: ( columnCondition[conditions] ( K_AND columnCondition[conditions] )* )
// Parser.g:562:7: columnCondition[conditions] ( K_AND columnCondition[conditions] )*
{
pushFollow(FOLLOW_columnCondition_in_updateConditions3752);
columnCondition(conditions);
state._fsp--;
if (state.failed) return conditions;
// Parser.g:562:35: ( K_AND columnCondition[conditions] )*
loop55:
while (true) {
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==K_AND) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// Parser.g:562:37: K_AND columnCondition[conditions]
{
match(input,K_AND,FOLLOW_K_AND_in_updateConditions3757); if (state.failed) return conditions;
pushFollow(FOLLOW_columnCondition_in_updateConditions3759);
columnCondition(conditions);
state._fsp--;
if (state.failed) return conditions;
}
break;
default :
break loop55;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return conditions;
}
// $ANTLR end "updateConditions"
// $ANTLR start "deleteStatement"
// Parser.g:573:1: deleteStatement returns [DeleteStatement.Parsed expr] : K_DELETE (dels= deleteSelection )? K_FROM cf= columnFamilyName ( usingClauseDelete[attrs] )? K_WHERE wclause= whereClause ( K_IF ( K_EXISTS |conditions= updateConditions ) )? ;
public final DeleteStatement.Parsed deleteStatement() throws RecognitionException {
DeleteStatement.Parsed expr = null;
List dels =null;
QualifiedName cf =null;
WhereClause.Builder wclause =null;
List> conditions =null;
Attributes.Raw attrs = new Attributes.Raw();
List columnDeletions = Collections.emptyList();
boolean ifExists = false;
try {
// Parser.g:579:5: ( K_DELETE (dels= deleteSelection )? K_FROM cf= columnFamilyName ( usingClauseDelete[attrs] )? K_WHERE wclause= whereClause ( K_IF ( K_EXISTS |conditions= updateConditions ) )? )
// Parser.g:579:7: K_DELETE (dels= deleteSelection )? K_FROM cf= columnFamilyName ( usingClauseDelete[attrs] )? K_WHERE wclause= whereClause ( K_IF ( K_EXISTS |conditions= updateConditions ) )?
{
match(input,K_DELETE,FOLLOW_K_DELETE_in_deleteStatement3796); if (state.failed) return expr;
// Parser.g:579:16: (dels= deleteSelection )?
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==EMPTY_QUOTED_NAME||LA56_0==IDENT||LA56_0==K_ACCESS||(LA56_0 >= K_AGGREGATE && LA56_0 <= K_ALL)||LA56_0==K_AS||LA56_0==K_ASCII||(LA56_0 >= K_BIGINT && LA56_0 <= K_BOOLEAN)||(LA56_0 >= K_CALLED && LA56_0 <= K_CLUSTERING)||(LA56_0 >= K_COMPACT && LA56_0 <= K_COUNTER)||(LA56_0 >= K_CUSTOM && LA56_0 <= K_DEFAULT)||(LA56_0 >= K_DISTINCT && LA56_0 <= K_DOUBLE)||LA56_0==K_DURATION||(LA56_0 >= K_EXISTS && LA56_0 <= K_FLOAT)||LA56_0==K_FROZEN||(LA56_0 >= K_FUNCTION && LA56_0 <= K_FUNCTIONS)||(LA56_0 >= K_GROUP && LA56_0 <= K_IDENTITY)||(LA56_0 >= K_INET && LA56_0 <= K_INPUT)||(LA56_0 >= K_INT && LA56_0 <= K_INTERNALS)||(LA56_0 >= K_JSON && LA56_0 <= K_KEYS)||(LA56_0 >= K_KEYSPACES && LA56_0 <= K_LIKE)||(LA56_0 >= K_LIST && LA56_0 <= K_MASKED)||(LA56_0 >= K_MAXWRITETIME && LA56_0 <= K_MBEANS)||LA56_0==K_NOLOGIN||LA56_0==K_NOSUPERUSER||(LA56_0 >= K_ONLY && LA56_0 <= K_OPTIONS)||(LA56_0 >= K_PARTITION && LA56_0 <= K_PERMISSIONS)||(LA56_0 >= K_REPLACE && LA56_0 <= K_RETURNS)||(LA56_0 >= K_ROLE && LA56_0 <= K_ROLES)||LA56_0==K_SELECT_MASKED||(LA56_0 >= K_SFUNC && LA56_0 <= K_TINYINT)||LA56_0==K_TRIGGER||(LA56_0 >= K_TTL && LA56_0 <= K_TYPES)||(LA56_0 >= K_UNMASK && LA56_0 <= K_UNSET)||(LA56_0 >= K_USER && LA56_0 <= K_USERS)||(LA56_0 >= K_UUID && LA56_0 <= K_VECTOR)||LA56_0==K_WRITETIME||LA56_0==QUOTED_NAME) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// Parser.g:579:18: dels= deleteSelection
{
pushFollow(FOLLOW_deleteSelection_in_deleteStatement3802);
dels=deleteSelection();
state._fsp--;
if (state.failed) return expr;
if ( state.backtracking==0 ) { columnDeletions = dels; }
}
break;
}
match(input,K_FROM,FOLLOW_K_FROM_in_deleteStatement3815); if (state.failed) return expr;
pushFollow(FOLLOW_columnFamilyName_in_deleteStatement3819);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return expr;
// Parser.g:581:7: ( usingClauseDelete[attrs] )?
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==K_USING) ) {
alt57=1;
}
switch (alt57) {
case 1 :
// Parser.g:581:9: usingClauseDelete[attrs]
{
pushFollow(FOLLOW_usingClauseDelete_in_deleteStatement3829);
usingClauseDelete(attrs);
state._fsp--;
if (state.failed) return expr;
}
break;
}
match(input,K_WHERE,FOLLOW_K_WHERE_in_deleteStatement3841); if (state.failed) return expr;
pushFollow(FOLLOW_whereClause_in_deleteStatement3845);
wclause=whereClause();
state._fsp--;
if (state.failed) return expr;
// Parser.g:583:7: ( K_IF ( K_EXISTS |conditions= updateConditions ) )?
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==K_IF) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// Parser.g:583:9: K_IF ( K_EXISTS |conditions= updateConditions )
{
match(input,K_IF,FOLLOW_K_IF_in_deleteStatement3855); if (state.failed) return expr;
// Parser.g:583:14: ( K_EXISTS |conditions= updateConditions )
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==K_EXISTS) ) {
int LA58_1 = input.LA(2);
if ( (LA58_1==EOF||LA58_1==K_APPLY||LA58_1==K_DELETE||LA58_1==K_INSERT||LA58_1==K_UPDATE||LA58_1==218) ) {
alt58=1;
}
else if ( (LA58_1==K_CONTAINS||LA58_1==K_IN||LA58_1==206||LA58_1==215||(LA58_1 >= 219 && LA58_1 <= 224)) ) {
alt58=2;
}
else {
if (state.backtracking>0) {state.failed=true; return expr;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 58, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA58_0==EMPTY_QUOTED_NAME||LA58_0==IDENT||LA58_0==K_ACCESS||(LA58_0 >= K_AGGREGATE && LA58_0 <= K_ALL)||LA58_0==K_AS||LA58_0==K_ASCII||(LA58_0 >= K_BIGINT && LA58_0 <= K_BOOLEAN)||(LA58_0 >= K_CALLED && LA58_0 <= K_CLUSTERING)||(LA58_0 >= K_COMPACT && LA58_0 <= K_COUNTER)||(LA58_0 >= K_CUSTOM && LA58_0 <= K_DEFAULT)||(LA58_0 >= K_DISTINCT && LA58_0 <= K_DOUBLE)||LA58_0==K_DURATION||(LA58_0 >= K_FILTERING && LA58_0 <= K_FLOAT)||LA58_0==K_FROZEN||(LA58_0 >= K_FUNCTION && LA58_0 <= K_FUNCTIONS)||(LA58_0 >= K_GROUP && LA58_0 <= K_IDENTITY)||(LA58_0 >= K_INET && LA58_0 <= K_INPUT)||(LA58_0 >= K_INT && LA58_0 <= K_INTERNALS)||(LA58_0 >= K_JSON && LA58_0 <= K_KEYS)||(LA58_0 >= K_KEYSPACES && LA58_0 <= K_LIKE)||(LA58_0 >= K_LIST && LA58_0 <= K_MASKED)||(LA58_0 >= K_MAXWRITETIME && LA58_0 <= K_MBEANS)||LA58_0==K_NOLOGIN||LA58_0==K_NOSUPERUSER||(LA58_0 >= K_ONLY && LA58_0 <= K_OPTIONS)||(LA58_0 >= K_PARTITION && LA58_0 <= K_PERMISSIONS)||(LA58_0 >= K_REPLACE && LA58_0 <= K_RETURNS)||(LA58_0 >= K_ROLE && LA58_0 <= K_ROLES)||LA58_0==K_SELECT_MASKED||(LA58_0 >= K_SFUNC && LA58_0 <= K_TINYINT)||LA58_0==K_TRIGGER||(LA58_0 >= K_TTL && LA58_0 <= K_TYPES)||(LA58_0 >= K_UNMASK && LA58_0 <= K_UNSET)||(LA58_0 >= K_USER && LA58_0 <= K_USERS)||(LA58_0 >= K_UUID && LA58_0 <= K_VECTOR)||LA58_0==K_WRITETIME||LA58_0==QUOTED_NAME) ) {
alt58=2;
}
else {
if (state.backtracking>0) {state.failed=true; return expr;}
NoViableAltException nvae =
new NoViableAltException("", 58, 0, input);
throw nvae;
}
switch (alt58) {
case 1 :
// Parser.g:583:16: K_EXISTS
{
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_deleteStatement3859); if (state.failed) return expr;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
case 2 :
// Parser.g:583:48: conditions= updateConditions
{
pushFollow(FOLLOW_updateConditions_in_deleteStatement3867);
conditions=updateConditions();
state._fsp--;
if (state.failed) return expr;
}
break;
}
}
break;
}
if ( state.backtracking==0 ) {
expr = new DeleteStatement.Parsed(cf,
attrs,
columnDeletions,
wclause.build(),
conditions == null ? Collections.>emptyList() : conditions,
ifExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "deleteStatement"
// $ANTLR start "deleteSelection"
// Parser.g:594:1: deleteSelection returns [List operations] :t1= deleteOp ( ',' tN= deleteOp )* ;
public final List deleteSelection() throws RecognitionException {
List operations = null;
Operation.RawDeletion t1 =null;
Operation.RawDeletion tN =null;
try {
// Parser.g:595:5: (t1= deleteOp ( ',' tN= deleteOp )* )
// Parser.g:595:7: t1= deleteOp ( ',' tN= deleteOp )*
{
if ( state.backtracking==0 ) { operations = new ArrayList(); }
pushFollow(FOLLOW_deleteOp_in_deleteSelection3914);
t1=deleteOp();
state._fsp--;
if (state.failed) return operations;
if ( state.backtracking==0 ) { operations.add(t1); }
// Parser.g:597:11: ( ',' tN= deleteOp )*
loop60:
while (true) {
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==212) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// Parser.g:597:12: ',' tN= deleteOp
{
match(input,212,FOLLOW_212_in_deleteSelection3929); if (state.failed) return operations;
pushFollow(FOLLOW_deleteOp_in_deleteSelection3933);
tN=deleteOp();
state._fsp--;
if (state.failed) return operations;
if ( state.backtracking==0 ) { operations.add(tN); }
}
break;
default :
break loop60;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return operations;
}
// $ANTLR end "deleteSelection"
// $ANTLR start "deleteOp"
// Parser.g:600:1: deleteOp returns [Operation.RawDeletion op] : (c= cident |c= cident '[' t= term ']' |c= cident '.' field= fident );
public final Operation.RawDeletion deleteOp() throws RecognitionException {
Operation.RawDeletion op = null;
ColumnIdentifier c =null;
Term.Raw t =null;
FieldIdentifier field =null;
try {
// Parser.g:601:5: (c= cident |c= cident '[' t= term ']' |c= cident '.' field= fident )
int alt61=3;
alt61 = dfa61.predict(input);
switch (alt61) {
case 1 :
// Parser.g:601:7: c= cident
{
pushFollow(FOLLOW_cident_in_deleteOp3960);
c=cident();
state._fsp--;
if (state.failed) return op;
if ( state.backtracking==0 ) { op = new Operation.ColumnDeletion(c); }
}
break;
case 2 :
// Parser.g:602:7: c= cident '[' t= term ']'
{
pushFollow(FOLLOW_cident_in_deleteOp3987);
c=cident();
state._fsp--;
if (state.failed) return op;
match(input,224,FOLLOW_224_in_deleteOp3989); if (state.failed) return op;
pushFollow(FOLLOW_term_in_deleteOp3993);
t=term();
state._fsp--;
if (state.failed) return op;
match(input,226,FOLLOW_226_in_deleteOp3995); if (state.failed) return op;
if ( state.backtracking==0 ) { op = new Operation.ElementDeletion(c, t); }
}
break;
case 3 :
// Parser.g:603:7: c= cident '.' field= fident
{
pushFollow(FOLLOW_cident_in_deleteOp4007);
c=cident();
state._fsp--;
if (state.failed) return op;
match(input,215,FOLLOW_215_in_deleteOp4009); if (state.failed) return op;
pushFollow(FOLLOW_fident_in_deleteOp4013);
field=fident();
state._fsp--;
if (state.failed) return op;
if ( state.backtracking==0 ) { op = new Operation.FieldDeletion(c, field); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return op;
}
// $ANTLR end "deleteOp"
// $ANTLR start "usingClauseDelete"
// Parser.g:606:1: usingClauseDelete[Attributes.Raw attrs] : K_USING K_TIMESTAMP ts= intValue ;
public final void usingClauseDelete(Attributes.Raw attrs) throws RecognitionException {
Term.Raw ts =null;
try {
// Parser.g:607:5: ( K_USING K_TIMESTAMP ts= intValue )
// Parser.g:607:7: K_USING K_TIMESTAMP ts= intValue
{
match(input,K_USING,FOLLOW_K_USING_in_usingClauseDelete4033); if (state.failed) return;
match(input,K_TIMESTAMP,FOLLOW_K_TIMESTAMP_in_usingClauseDelete4035); if (state.failed) return;
pushFollow(FOLLOW_intValue_in_usingClauseDelete4039);
ts=intValue();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { attrs.timestamp = ts; }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "usingClauseDelete"
// $ANTLR start "batchStatement"
// Parser.g:634:1: batchStatement returns [BatchStatement.Parsed expr] : K_BEGIN ( K_UNLOGGED | K_COUNTER )? K_BATCH ( usingClause[attrs] )? (s= batchStatementObjective ( ';' )? )* K_APPLY K_BATCH ;
public final BatchStatement.Parsed batchStatement() throws RecognitionException {
BatchStatement.Parsed expr = null;
ModificationStatement.Parsed s =null;
BatchStatement.Type type = BatchStatement.Type.LOGGED;
List statements = new ArrayList();
Attributes.Raw attrs = new Attributes.Raw();
try {
// Parser.g:640:5: ( K_BEGIN ( K_UNLOGGED | K_COUNTER )? K_BATCH ( usingClause[attrs] )? (s= batchStatementObjective ( ';' )? )* K_APPLY K_BATCH )
// Parser.g:640:7: K_BEGIN ( K_UNLOGGED | K_COUNTER )? K_BATCH ( usingClause[attrs] )? (s= batchStatementObjective ( ';' )? )* K_APPLY K_BATCH
{
match(input,K_BEGIN,FOLLOW_K_BEGIN_in_batchStatement4073); if (state.failed) return expr;
// Parser.g:641:7: ( K_UNLOGGED | K_COUNTER )?
int alt62=3;
int LA62_0 = input.LA(1);
if ( (LA62_0==K_UNLOGGED) ) {
alt62=1;
}
else if ( (LA62_0==K_COUNTER) ) {
alt62=2;
}
switch (alt62) {
case 1 :
// Parser.g:641:9: K_UNLOGGED
{
match(input,K_UNLOGGED,FOLLOW_K_UNLOGGED_in_batchStatement4083); if (state.failed) return expr;
if ( state.backtracking==0 ) { type = BatchStatement.Type.UNLOGGED; }
}
break;
case 2 :
// Parser.g:641:63: K_COUNTER
{
match(input,K_COUNTER,FOLLOW_K_COUNTER_in_batchStatement4089); if (state.failed) return expr;
if ( state.backtracking==0 ) { type = BatchStatement.Type.COUNTER; }
}
break;
}
match(input,K_BATCH,FOLLOW_K_BATCH_in_batchStatement4102); if (state.failed) return expr;
// Parser.g:642:15: ( usingClause[attrs] )?
int alt63=2;
int LA63_0 = input.LA(1);
if ( (LA63_0==K_USING) ) {
alt63=1;
}
switch (alt63) {
case 1 :
// Parser.g:642:17: usingClause[attrs]
{
pushFollow(FOLLOW_usingClause_in_batchStatement4106);
usingClause(attrs);
state._fsp--;
if (state.failed) return expr;
}
break;
}
// Parser.g:643:11: (s= batchStatementObjective ( ';' )? )*
loop65:
while (true) {
int alt65=2;
int LA65_0 = input.LA(1);
if ( (LA65_0==K_DELETE||LA65_0==K_INSERT||LA65_0==K_UPDATE) ) {
alt65=1;
}
switch (alt65) {
case 1 :
// Parser.g:643:13: s= batchStatementObjective ( ';' )?
{
pushFollow(FOLLOW_batchStatementObjective_in_batchStatement4126);
s=batchStatementObjective();
state._fsp--;
if (state.failed) return expr;
// Parser.g:643:39: ( ';' )?
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0==218) ) {
alt64=1;
}
switch (alt64) {
case 1 :
// Parser.g:643:39: ';'
{
match(input,218,FOLLOW_218_in_batchStatement4128); if (state.failed) return expr;
}
break;
}
if ( state.backtracking==0 ) { statements.add(s); }
}
break;
default :
break loop65;
}
}
match(input,K_APPLY,FOLLOW_K_APPLY_in_batchStatement4142); if (state.failed) return expr;
match(input,K_BATCH,FOLLOW_K_BATCH_in_batchStatement4144); if (state.failed) return expr;
if ( state.backtracking==0 ) {
expr = new BatchStatement.Parsed(type, attrs, statements);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return expr;
}
// $ANTLR end "batchStatement"
// $ANTLR start "batchStatementObjective"
// Parser.g:650:1: batchStatementObjective returns [ModificationStatement.Parsed statement] : (i= insertStatement |u= updateStatement |d= deleteStatement );
public final ModificationStatement.Parsed batchStatementObjective() throws RecognitionException {
ModificationStatement.Parsed statement = null;
ModificationStatement.Parsed i =null;
UpdateStatement.ParsedUpdate u =null;
DeleteStatement.Parsed d =null;
try {
// Parser.g:651:5: (i= insertStatement |u= updateStatement |d= deleteStatement )
int alt66=3;
switch ( input.LA(1) ) {
case K_INSERT:
{
alt66=1;
}
break;
case K_UPDATE:
{
alt66=2;
}
break;
case K_DELETE:
{
alt66=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return statement;}
NoViableAltException nvae =
new NoViableAltException("", 66, 0, input);
throw nvae;
}
switch (alt66) {
case 1 :
// Parser.g:651:7: i= insertStatement
{
pushFollow(FOLLOW_insertStatement_in_batchStatementObjective4175);
i=insertStatement();
state._fsp--;
if (state.failed) return statement;
if ( state.backtracking==0 ) { statement = i; }
}
break;
case 2 :
// Parser.g:652:7: u= updateStatement
{
pushFollow(FOLLOW_updateStatement_in_batchStatementObjective4188);
u=updateStatement();
state._fsp--;
if (state.failed) return statement;
if ( state.backtracking==0 ) { statement = u; }
}
break;
case 3 :
// Parser.g:653:7: d= deleteStatement
{
pushFollow(FOLLOW_deleteStatement_in_batchStatementObjective4201);
d=deleteStatement();
state._fsp--;
if (state.failed) return statement;
if ( state.backtracking==0 ) { statement = d; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return statement;
}
// $ANTLR end "batchStatementObjective"
// $ANTLR start "createAggregateStatement"
// Parser.g:656:1: createAggregateStatement returns [CreateAggregateStatement.Raw stmt] : K_CREATE ( K_OR K_REPLACE )? K_AGGREGATE ( K_IF K_NOT K_EXISTS )? fn= functionName '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' K_SFUNC sfunc= allowedFunctionName K_STYPE stype= comparatorType ( K_FINALFUNC ffunc= allowedFunctionName )? ( K_INITCOND ival= term )? ;
public final CreateAggregateStatement.Raw createAggregateStatement() throws RecognitionException {
CreateAggregateStatement.Raw stmt = null;
FunctionName fn =null;
CQL3Type.Raw v =null;
String sfunc =null;
CQL3Type.Raw stype =null;
String ffunc =null;
Term.Raw ival =null;
boolean orReplace = false;
boolean ifNotExists = false;
List argTypes = new ArrayList<>();
try {
// Parser.g:663:5: ( K_CREATE ( K_OR K_REPLACE )? K_AGGREGATE ( K_IF K_NOT K_EXISTS )? fn= functionName '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' K_SFUNC sfunc= allowedFunctionName K_STYPE stype= comparatorType ( K_FINALFUNC ffunc= allowedFunctionName )? ( K_INITCOND ival= term )? )
// Parser.g:663:7: K_CREATE ( K_OR K_REPLACE )? K_AGGREGATE ( K_IF K_NOT K_EXISTS )? fn= functionName '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' K_SFUNC sfunc= allowedFunctionName K_STYPE stype= comparatorType ( K_FINALFUNC ffunc= allowedFunctionName )? ( K_INITCOND ival= term )?
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createAggregateStatement4234); if (state.failed) return stmt;
// Parser.g:663:16: ( K_OR K_REPLACE )?
int alt67=2;
int LA67_0 = input.LA(1);
if ( (LA67_0==K_OR) ) {
alt67=1;
}
switch (alt67) {
case 1 :
// Parser.g:663:17: K_OR K_REPLACE
{
match(input,K_OR,FOLLOW_K_OR_in_createAggregateStatement4237); if (state.failed) return stmt;
match(input,K_REPLACE,FOLLOW_K_REPLACE_in_createAggregateStatement4239); if (state.failed) return stmt;
if ( state.backtracking==0 ) { orReplace = true; }
}
break;
}
match(input,K_AGGREGATE,FOLLOW_K_AGGREGATE_in_createAggregateStatement4251); if (state.failed) return stmt;
// Parser.g:665:7: ( K_IF K_NOT K_EXISTS )?
int alt68=2;
int LA68_0 = input.LA(1);
if ( (LA68_0==K_IF) ) {
alt68=1;
}
switch (alt68) {
case 1 :
// Parser.g:665:8: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createAggregateStatement4260); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createAggregateStatement4262); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createAggregateStatement4264); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_functionName_in_createAggregateStatement4278);
fn=functionName();
state._fsp--;
if (state.failed) return stmt;
match(input,208,FOLLOW_208_in_createAggregateStatement4286); if (state.failed) return stmt;
// Parser.g:668:9: (v= comparatorType ( ',' v= comparatorType )* )?
int alt70=2;
int LA70_0 = input.LA(1);
if ( (LA70_0==IDENT||LA70_0==K_ACCESS||(LA70_0 >= K_AGGREGATE && LA70_0 <= K_ALL)||LA70_0==K_AS||LA70_0==K_ASCII||(LA70_0 >= K_BIGINT && LA70_0 <= K_BOOLEAN)||(LA70_0 >= K_CALLED && LA70_0 <= K_CLUSTERING)||(LA70_0 >= K_COMPACT && LA70_0 <= K_COUNTER)||(LA70_0 >= K_CUSTOM && LA70_0 <= K_DEFAULT)||(LA70_0 >= K_DISTINCT && LA70_0 <= K_DOUBLE)||LA70_0==K_DURATION||(LA70_0 >= K_EXISTS && LA70_0 <= K_FLOAT)||LA70_0==K_FROZEN||(LA70_0 >= K_FUNCTION && LA70_0 <= K_FUNCTIONS)||(LA70_0 >= K_GROUP && LA70_0 <= K_IDENTITY)||(LA70_0 >= K_INET && LA70_0 <= K_INPUT)||(LA70_0 >= K_INT && LA70_0 <= K_INTERNALS)||(LA70_0 >= K_JSON && LA70_0 <= K_KEYS)||(LA70_0 >= K_KEYSPACES && LA70_0 <= K_LIKE)||(LA70_0 >= K_LIST && LA70_0 <= K_MASKED)||(LA70_0 >= K_MAXWRITETIME && LA70_0 <= K_MBEANS)||LA70_0==K_NOLOGIN||LA70_0==K_NOSUPERUSER||(LA70_0 >= K_ONLY && LA70_0 <= K_OPTIONS)||(LA70_0 >= K_PARTITION && LA70_0 <= K_PERMISSIONS)||(LA70_0 >= K_REPLACE && LA70_0 <= K_RETURNS)||(LA70_0 >= K_ROLE && LA70_0 <= K_ROLES)||(LA70_0 >= K_SELECT_MASKED && LA70_0 <= K_TINYINT)||LA70_0==K_TRIGGER||(LA70_0 >= K_TTL && LA70_0 <= K_TYPES)||(LA70_0 >= K_UNMASK && LA70_0 <= K_UNSET)||(LA70_0 >= K_USER && LA70_0 <= K_USERS)||(LA70_0 >= K_UUID && LA70_0 <= K_VECTOR)||LA70_0==K_WRITETIME||LA70_0==QUOTED_NAME||LA70_0==STRING_LITERAL) ) {
alt70=1;
}
switch (alt70) {
case 1 :
// Parser.g:669:11: v= comparatorType ( ',' v= comparatorType )*
{
pushFollow(FOLLOW_comparatorType_in_createAggregateStatement4310);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argTypes.add(v); }
// Parser.g:670:11: ( ',' v= comparatorType )*
loop69:
while (true) {
int alt69=2;
int LA69_0 = input.LA(1);
if ( (LA69_0==212) ) {
alt69=1;
}
switch (alt69) {
case 1 :
// Parser.g:670:13: ',' v= comparatorType
{
match(input,212,FOLLOW_212_in_createAggregateStatement4326); if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_createAggregateStatement4330);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argTypes.add(v); }
}
break;
default :
break loop69;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_createAggregateStatement4354); if (state.failed) return stmt;
match(input,K_SFUNC,FOLLOW_K_SFUNC_in_createAggregateStatement4362); if (state.failed) return stmt;
pushFollow(FOLLOW_allowedFunctionName_in_createAggregateStatement4368);
sfunc=allowedFunctionName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_STYPE,FOLLOW_K_STYPE_in_createAggregateStatement4376); if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_createAggregateStatement4382);
stype=comparatorType();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:675:7: ( K_FINALFUNC ffunc= allowedFunctionName )?
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==K_FINALFUNC) ) {
alt71=1;
}
switch (alt71) {
case 1 :
// Parser.g:676:9: K_FINALFUNC ffunc= allowedFunctionName
{
match(input,K_FINALFUNC,FOLLOW_K_FINALFUNC_in_createAggregateStatement4400); if (state.failed) return stmt;
pushFollow(FOLLOW_allowedFunctionName_in_createAggregateStatement4406);
ffunc=allowedFunctionName();
state._fsp--;
if (state.failed) return stmt;
}
break;
}
// Parser.g:678:7: ( K_INITCOND ival= term )?
int alt72=2;
int LA72_0 = input.LA(1);
if ( (LA72_0==K_INITCOND) ) {
alt72=1;
}
switch (alt72) {
case 1 :
// Parser.g:679:9: K_INITCOND ival= term
{
match(input,K_INITCOND,FOLLOW_K_INITCOND_in_createAggregateStatement4433); if (state.failed) return stmt;
pushFollow(FOLLOW_term_in_createAggregateStatement4439);
ival=term();
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) { stmt = new CreateAggregateStatement.Raw(fn, argTypes, stype, sfunc, ffunc, ival, orReplace, ifNotExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createAggregateStatement"
// $ANTLR start "dropAggregateStatement"
// Parser.g:684:1: dropAggregateStatement returns [DropAggregateStatement.Raw stmt] : K_DROP K_AGGREGATE ( K_IF K_EXISTS )? fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )? ;
public final DropAggregateStatement.Raw dropAggregateStatement() throws RecognitionException {
DropAggregateStatement.Raw stmt = null;
FunctionName fn =null;
CQL3Type.Raw v =null;
boolean ifExists = false;
List argTypes = new ArrayList<>();
boolean argsSpecified = false;
try {
// Parser.g:690:5: ( K_DROP K_AGGREGATE ( K_IF K_EXISTS )? fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )? )
// Parser.g:690:7: K_DROP K_AGGREGATE ( K_IF K_EXISTS )? fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )?
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropAggregateStatement4486); if (state.failed) return stmt;
match(input,K_AGGREGATE,FOLLOW_K_AGGREGATE_in_dropAggregateStatement4488); if (state.failed) return stmt;
// Parser.g:691:7: ( K_IF K_EXISTS )?
int alt73=2;
int LA73_0 = input.LA(1);
if ( (LA73_0==K_IF) ) {
alt73=1;
}
switch (alt73) {
case 1 :
// Parser.g:691:8: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropAggregateStatement4497); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropAggregateStatement4499); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_functionName_in_dropAggregateStatement4514);
fn=functionName();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:693:7: ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )?
int alt76=2;
int LA76_0 = input.LA(1);
if ( (LA76_0==208) ) {
alt76=1;
}
switch (alt76) {
case 1 :
// Parser.g:694:9: '(' (v= comparatorType ( ',' v= comparatorType )* )? ')'
{
match(input,208,FOLLOW_208_in_dropAggregateStatement4532); if (state.failed) return stmt;
// Parser.g:695:11: (v= comparatorType ( ',' v= comparatorType )* )?
int alt75=2;
int LA75_0 = input.LA(1);
if ( (LA75_0==IDENT||LA75_0==K_ACCESS||(LA75_0 >= K_AGGREGATE && LA75_0 <= K_ALL)||LA75_0==K_AS||LA75_0==K_ASCII||(LA75_0 >= K_BIGINT && LA75_0 <= K_BOOLEAN)||(LA75_0 >= K_CALLED && LA75_0 <= K_CLUSTERING)||(LA75_0 >= K_COMPACT && LA75_0 <= K_COUNTER)||(LA75_0 >= K_CUSTOM && LA75_0 <= K_DEFAULT)||(LA75_0 >= K_DISTINCT && LA75_0 <= K_DOUBLE)||LA75_0==K_DURATION||(LA75_0 >= K_EXISTS && LA75_0 <= K_FLOAT)||LA75_0==K_FROZEN||(LA75_0 >= K_FUNCTION && LA75_0 <= K_FUNCTIONS)||(LA75_0 >= K_GROUP && LA75_0 <= K_IDENTITY)||(LA75_0 >= K_INET && LA75_0 <= K_INPUT)||(LA75_0 >= K_INT && LA75_0 <= K_INTERNALS)||(LA75_0 >= K_JSON && LA75_0 <= K_KEYS)||(LA75_0 >= K_KEYSPACES && LA75_0 <= K_LIKE)||(LA75_0 >= K_LIST && LA75_0 <= K_MASKED)||(LA75_0 >= K_MAXWRITETIME && LA75_0 <= K_MBEANS)||LA75_0==K_NOLOGIN||LA75_0==K_NOSUPERUSER||(LA75_0 >= K_ONLY && LA75_0 <= K_OPTIONS)||(LA75_0 >= K_PARTITION && LA75_0 <= K_PERMISSIONS)||(LA75_0 >= K_REPLACE && LA75_0 <= K_RETURNS)||(LA75_0 >= K_ROLE && LA75_0 <= K_ROLES)||(LA75_0 >= K_SELECT_MASKED && LA75_0 <= K_TINYINT)||LA75_0==K_TRIGGER||(LA75_0 >= K_TTL && LA75_0 <= K_TYPES)||(LA75_0 >= K_UNMASK && LA75_0 <= K_UNSET)||(LA75_0 >= K_USER && LA75_0 <= K_USERS)||(LA75_0 >= K_UUID && LA75_0 <= K_VECTOR)||LA75_0==K_WRITETIME||LA75_0==QUOTED_NAME||LA75_0==STRING_LITERAL) ) {
alt75=1;
}
switch (alt75) {
case 1 :
// Parser.g:696:13: v= comparatorType ( ',' v= comparatorType )*
{
pushFollow(FOLLOW_comparatorType_in_dropAggregateStatement4560);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argTypes.add(v); }
// Parser.g:697:13: ( ',' v= comparatorType )*
loop74:
while (true) {
int alt74=2;
int LA74_0 = input.LA(1);
if ( (LA74_0==212) ) {
alt74=1;
}
switch (alt74) {
case 1 :
// Parser.g:697:15: ',' v= comparatorType
{
match(input,212,FOLLOW_212_in_dropAggregateStatement4578); if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_dropAggregateStatement4582);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argTypes.add(v); }
}
break;
default :
break loop74;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_dropAggregateStatement4610); if (state.failed) return stmt;
if ( state.backtracking==0 ) { argsSpecified = true; }
}
break;
}
if ( state.backtracking==0 ) { stmt = new DropAggregateStatement.Raw(fn, argTypes, argsSpecified, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropAggregateStatement"
// $ANTLR start "createFunctionStatement"
// Parser.g:705:1: createFunctionStatement returns [CreateFunctionStatement.Raw stmt] : K_CREATE ( K_OR K_REPLACE )? K_FUNCTION ( K_IF K_NOT K_EXISTS )? fn= functionName '(' (k= noncol_ident v= comparatorType ( ',' k= noncol_ident v= comparatorType )* )? ')' ( ( K_RETURNS K_NULL ) | ( K_CALLED ) ) K_ON K_NULL K_INPUT K_RETURNS returnType= comparatorType K_LANGUAGE language= IDENT K_AS body= STRING_LITERAL ;
public final CreateFunctionStatement.Raw createFunctionStatement() throws RecognitionException {
CreateFunctionStatement.Raw stmt = null;
Token language=null;
Token body=null;
FunctionName fn =null;
ColumnIdentifier k =null;
CQL3Type.Raw v =null;
CQL3Type.Raw returnType =null;
boolean orReplace = false;
boolean ifNotExists = false;
List argNames = new ArrayList<>();
List argTypes = new ArrayList<>();
boolean calledOnNullInput = false;
try {
// Parser.g:714:5: ( K_CREATE ( K_OR K_REPLACE )? K_FUNCTION ( K_IF K_NOT K_EXISTS )? fn= functionName '(' (k= noncol_ident v= comparatorType ( ',' k= noncol_ident v= comparatorType )* )? ')' ( ( K_RETURNS K_NULL ) | ( K_CALLED ) ) K_ON K_NULL K_INPUT K_RETURNS returnType= comparatorType K_LANGUAGE language= IDENT K_AS body= STRING_LITERAL )
// Parser.g:714:7: K_CREATE ( K_OR K_REPLACE )? K_FUNCTION ( K_IF K_NOT K_EXISTS )? fn= functionName '(' (k= noncol_ident v= comparatorType ( ',' k= noncol_ident v= comparatorType )* )? ')' ( ( K_RETURNS K_NULL ) | ( K_CALLED ) ) K_ON K_NULL K_INPUT K_RETURNS returnType= comparatorType K_LANGUAGE language= IDENT K_AS body= STRING_LITERAL
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createFunctionStatement4667); if (state.failed) return stmt;
// Parser.g:714:16: ( K_OR K_REPLACE )?
int alt77=2;
int LA77_0 = input.LA(1);
if ( (LA77_0==K_OR) ) {
alt77=1;
}
switch (alt77) {
case 1 :
// Parser.g:714:17: K_OR K_REPLACE
{
match(input,K_OR,FOLLOW_K_OR_in_createFunctionStatement4670); if (state.failed) return stmt;
match(input,K_REPLACE,FOLLOW_K_REPLACE_in_createFunctionStatement4672); if (state.failed) return stmt;
if ( state.backtracking==0 ) { orReplace = true; }
}
break;
}
match(input,K_FUNCTION,FOLLOW_K_FUNCTION_in_createFunctionStatement4684); if (state.failed) return stmt;
// Parser.g:716:7: ( K_IF K_NOT K_EXISTS )?
int alt78=2;
int LA78_0 = input.LA(1);
if ( (LA78_0==K_IF) ) {
alt78=1;
}
switch (alt78) {
case 1 :
// Parser.g:716:8: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createFunctionStatement4693); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createFunctionStatement4695); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createFunctionStatement4697); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_functionName_in_createFunctionStatement4711);
fn=functionName();
state._fsp--;
if (state.failed) return stmt;
match(input,208,FOLLOW_208_in_createFunctionStatement4719); if (state.failed) return stmt;
// Parser.g:719:9: (k= noncol_ident v= comparatorType ( ',' k= noncol_ident v= comparatorType )* )?
int alt80=2;
int LA80_0 = input.LA(1);
if ( (LA80_0==IDENT||LA80_0==K_ACCESS||(LA80_0 >= K_AGGREGATE && LA80_0 <= K_ALL)||LA80_0==K_AS||LA80_0==K_ASCII||(LA80_0 >= K_BIGINT && LA80_0 <= K_BOOLEAN)||(LA80_0 >= K_CALLED && LA80_0 <= K_CLUSTERING)||(LA80_0 >= K_COMPACT && LA80_0 <= K_COUNTER)||(LA80_0 >= K_CUSTOM && LA80_0 <= K_DEFAULT)||(LA80_0 >= K_DISTINCT && LA80_0 <= K_DOUBLE)||LA80_0==K_DURATION||(LA80_0 >= K_EXISTS && LA80_0 <= K_FLOAT)||LA80_0==K_FROZEN||(LA80_0 >= K_FUNCTION && LA80_0 <= K_FUNCTIONS)||(LA80_0 >= K_GROUP && LA80_0 <= K_IDENTITY)||(LA80_0 >= K_INET && LA80_0 <= K_INPUT)||(LA80_0 >= K_INT && LA80_0 <= K_INTERNALS)||(LA80_0 >= K_JSON && LA80_0 <= K_KEYS)||(LA80_0 >= K_KEYSPACES && LA80_0 <= K_LIKE)||(LA80_0 >= K_LIST && LA80_0 <= K_MASKED)||(LA80_0 >= K_MAXWRITETIME && LA80_0 <= K_MBEANS)||LA80_0==K_NOLOGIN||LA80_0==K_NOSUPERUSER||(LA80_0 >= K_ONLY && LA80_0 <= K_OPTIONS)||(LA80_0 >= K_PARTITION && LA80_0 <= K_PERMISSIONS)||(LA80_0 >= K_REPLACE && LA80_0 <= K_RETURNS)||(LA80_0 >= K_ROLE && LA80_0 <= K_ROLES)||LA80_0==K_SELECT_MASKED||(LA80_0 >= K_SFUNC && LA80_0 <= K_TINYINT)||LA80_0==K_TRIGGER||(LA80_0 >= K_TTL && LA80_0 <= K_TYPES)||(LA80_0 >= K_UNMASK && LA80_0 <= K_UNSET)||(LA80_0 >= K_USER && LA80_0 <= K_USERS)||(LA80_0 >= K_UUID && LA80_0 <= K_VECTOR)||LA80_0==K_WRITETIME||LA80_0==QUOTED_NAME) ) {
alt80=1;
}
switch (alt80) {
case 1 :
// Parser.g:720:11: k= noncol_ident v= comparatorType ( ',' k= noncol_ident v= comparatorType )*
{
pushFollow(FOLLOW_noncol_ident_in_createFunctionStatement4743);
k=noncol_ident();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_createFunctionStatement4747);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argNames.add(k); argTypes.add(v); }
// Parser.g:721:11: ( ',' k= noncol_ident v= comparatorType )*
loop79:
while (true) {
int alt79=2;
int LA79_0 = input.LA(1);
if ( (LA79_0==212) ) {
alt79=1;
}
switch (alt79) {
case 1 :
// Parser.g:721:13: ',' k= noncol_ident v= comparatorType
{
match(input,212,FOLLOW_212_in_createFunctionStatement4763); if (state.failed) return stmt;
pushFollow(FOLLOW_noncol_ident_in_createFunctionStatement4767);
k=noncol_ident();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_createFunctionStatement4771);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argNames.add(k); argTypes.add(v); }
}
break;
default :
break loop79;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_createFunctionStatement4795); if (state.failed) return stmt;
// Parser.g:724:7: ( ( K_RETURNS K_NULL ) | ( K_CALLED ) )
int alt81=2;
int LA81_0 = input.LA(1);
if ( (LA81_0==K_RETURNS) ) {
alt81=1;
}
else if ( (LA81_0==K_CALLED) ) {
alt81=2;
}
else {
if (state.backtracking>0) {state.failed=true; return stmt;}
NoViableAltException nvae =
new NoViableAltException("", 81, 0, input);
throw nvae;
}
switch (alt81) {
case 1 :
// Parser.g:724:9: ( K_RETURNS K_NULL )
{
// Parser.g:724:9: ( K_RETURNS K_NULL )
// Parser.g:724:10: K_RETURNS K_NULL
{
match(input,K_RETURNS,FOLLOW_K_RETURNS_in_createFunctionStatement4806); if (state.failed) return stmt;
match(input,K_NULL,FOLLOW_K_NULL_in_createFunctionStatement4808); if (state.failed) return stmt;
}
}
break;
case 2 :
// Parser.g:724:30: ( K_CALLED )
{
// Parser.g:724:30: ( K_CALLED )
// Parser.g:724:31: K_CALLED
{
match(input,K_CALLED,FOLLOW_K_CALLED_in_createFunctionStatement4814); if (state.failed) return stmt;
if ( state.backtracking==0 ) { calledOnNullInput=true; }
}
}
break;
}
match(input,K_ON,FOLLOW_K_ON_in_createFunctionStatement4820); if (state.failed) return stmt;
match(input,K_NULL,FOLLOW_K_NULL_in_createFunctionStatement4822); if (state.failed) return stmt;
match(input,K_INPUT,FOLLOW_K_INPUT_in_createFunctionStatement4824); if (state.failed) return stmt;
match(input,K_RETURNS,FOLLOW_K_RETURNS_in_createFunctionStatement4832); if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_createFunctionStatement4838);
returnType=comparatorType();
state._fsp--;
if (state.failed) return stmt;
match(input,K_LANGUAGE,FOLLOW_K_LANGUAGE_in_createFunctionStatement4846); if (state.failed) return stmt;
language=(Token)match(input,IDENT,FOLLOW_IDENT_in_createFunctionStatement4852); if (state.failed) return stmt;
match(input,K_AS,FOLLOW_K_AS_in_createFunctionStatement4860); if (state.failed) return stmt;
body=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_createFunctionStatement4866); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new CreateFunctionStatement.Raw(
fn, argNames, argTypes, returnType, calledOnNullInput, (language!=null?language.getText():null).toLowerCase(), (body!=null?body.getText():null), orReplace, ifNotExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createFunctionStatement"
// $ANTLR start "dropFunctionStatement"
// Parser.g:733:1: dropFunctionStatement returns [DropFunctionStatement.Raw stmt] : K_DROP K_FUNCTION ( K_IF K_EXISTS )? fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )? ;
public final DropFunctionStatement.Raw dropFunctionStatement() throws RecognitionException {
DropFunctionStatement.Raw stmt = null;
FunctionName fn =null;
CQL3Type.Raw v =null;
boolean ifExists = false;
List argTypes = new ArrayList<>();
boolean argsSpecified = false;
try {
// Parser.g:739:5: ( K_DROP K_FUNCTION ( K_IF K_EXISTS )? fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )? )
// Parser.g:739:7: K_DROP K_FUNCTION ( K_IF K_EXISTS )? fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )?
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropFunctionStatement4904); if (state.failed) return stmt;
match(input,K_FUNCTION,FOLLOW_K_FUNCTION_in_dropFunctionStatement4906); if (state.failed) return stmt;
// Parser.g:740:7: ( K_IF K_EXISTS )?
int alt82=2;
int LA82_0 = input.LA(1);
if ( (LA82_0==K_IF) ) {
alt82=1;
}
switch (alt82) {
case 1 :
// Parser.g:740:8: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropFunctionStatement4915); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropFunctionStatement4917); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_functionName_in_dropFunctionStatement4932);
fn=functionName();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:742:7: ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )?
int alt85=2;
int LA85_0 = input.LA(1);
if ( (LA85_0==208) ) {
alt85=1;
}
switch (alt85) {
case 1 :
// Parser.g:743:9: '(' (v= comparatorType ( ',' v= comparatorType )* )? ')'
{
match(input,208,FOLLOW_208_in_dropFunctionStatement4950); if (state.failed) return stmt;
// Parser.g:744:11: (v= comparatorType ( ',' v= comparatorType )* )?
int alt84=2;
int LA84_0 = input.LA(1);
if ( (LA84_0==IDENT||LA84_0==K_ACCESS||(LA84_0 >= K_AGGREGATE && LA84_0 <= K_ALL)||LA84_0==K_AS||LA84_0==K_ASCII||(LA84_0 >= K_BIGINT && LA84_0 <= K_BOOLEAN)||(LA84_0 >= K_CALLED && LA84_0 <= K_CLUSTERING)||(LA84_0 >= K_COMPACT && LA84_0 <= K_COUNTER)||(LA84_0 >= K_CUSTOM && LA84_0 <= K_DEFAULT)||(LA84_0 >= K_DISTINCT && LA84_0 <= K_DOUBLE)||LA84_0==K_DURATION||(LA84_0 >= K_EXISTS && LA84_0 <= K_FLOAT)||LA84_0==K_FROZEN||(LA84_0 >= K_FUNCTION && LA84_0 <= K_FUNCTIONS)||(LA84_0 >= K_GROUP && LA84_0 <= K_IDENTITY)||(LA84_0 >= K_INET && LA84_0 <= K_INPUT)||(LA84_0 >= K_INT && LA84_0 <= K_INTERNALS)||(LA84_0 >= K_JSON && LA84_0 <= K_KEYS)||(LA84_0 >= K_KEYSPACES && LA84_0 <= K_LIKE)||(LA84_0 >= K_LIST && LA84_0 <= K_MASKED)||(LA84_0 >= K_MAXWRITETIME && LA84_0 <= K_MBEANS)||LA84_0==K_NOLOGIN||LA84_0==K_NOSUPERUSER||(LA84_0 >= K_ONLY && LA84_0 <= K_OPTIONS)||(LA84_0 >= K_PARTITION && LA84_0 <= K_PERMISSIONS)||(LA84_0 >= K_REPLACE && LA84_0 <= K_RETURNS)||(LA84_0 >= K_ROLE && LA84_0 <= K_ROLES)||(LA84_0 >= K_SELECT_MASKED && LA84_0 <= K_TINYINT)||LA84_0==K_TRIGGER||(LA84_0 >= K_TTL && LA84_0 <= K_TYPES)||(LA84_0 >= K_UNMASK && LA84_0 <= K_UNSET)||(LA84_0 >= K_USER && LA84_0 <= K_USERS)||(LA84_0 >= K_UUID && LA84_0 <= K_VECTOR)||LA84_0==K_WRITETIME||LA84_0==QUOTED_NAME||LA84_0==STRING_LITERAL) ) {
alt84=1;
}
switch (alt84) {
case 1 :
// Parser.g:745:13: v= comparatorType ( ',' v= comparatorType )*
{
pushFollow(FOLLOW_comparatorType_in_dropFunctionStatement4978);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argTypes.add(v); }
// Parser.g:746:13: ( ',' v= comparatorType )*
loop83:
while (true) {
int alt83=2;
int LA83_0 = input.LA(1);
if ( (LA83_0==212) ) {
alt83=1;
}
switch (alt83) {
case 1 :
// Parser.g:746:15: ',' v= comparatorType
{
match(input,212,FOLLOW_212_in_dropFunctionStatement4996); if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_dropFunctionStatement5000);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { argTypes.add(v); }
}
break;
default :
break loop83;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_dropFunctionStatement5028); if (state.failed) return stmt;
if ( state.backtracking==0 ) { argsSpecified = true; }
}
break;
}
if ( state.backtracking==0 ) { stmt = new DropFunctionStatement.Raw(fn, argTypes, argsSpecified, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropFunctionStatement"
// $ANTLR start "createKeyspaceStatement"
// Parser.g:757:1: createKeyspaceStatement returns [CreateKeyspaceStatement.Raw stmt] : K_CREATE K_KEYSPACE ( K_IF K_NOT K_EXISTS )? ks= keyspaceName K_WITH properties[attrs] ;
public final CreateKeyspaceStatement.Raw createKeyspaceStatement() throws RecognitionException {
CreateKeyspaceStatement.Raw stmt = null;
String ks =null;
KeyspaceAttributes attrs = new KeyspaceAttributes();
boolean ifNotExists = false;
try {
// Parser.g:762:5: ( K_CREATE K_KEYSPACE ( K_IF K_NOT K_EXISTS )? ks= keyspaceName K_WITH properties[attrs] )
// Parser.g:762:7: K_CREATE K_KEYSPACE ( K_IF K_NOT K_EXISTS )? ks= keyspaceName K_WITH properties[attrs]
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createKeyspaceStatement5087); if (state.failed) return stmt;
match(input,K_KEYSPACE,FOLLOW_K_KEYSPACE_in_createKeyspaceStatement5089); if (state.failed) return stmt;
// Parser.g:762:27: ( K_IF K_NOT K_EXISTS )?
int alt86=2;
int LA86_0 = input.LA(1);
if ( (LA86_0==K_IF) ) {
alt86=1;
}
switch (alt86) {
case 1 :
// Parser.g:762:28: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createKeyspaceStatement5092); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createKeyspaceStatement5094); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createKeyspaceStatement5096); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_keyspaceName_in_createKeyspaceStatement5105);
ks=keyspaceName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_WITH,FOLLOW_K_WITH_in_createKeyspaceStatement5113); if (state.failed) return stmt;
pushFollow(FOLLOW_properties_in_createKeyspaceStatement5115);
properties(attrs);
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new CreateKeyspaceStatement.Raw(ks, attrs, ifNotExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createKeyspaceStatement"
// $ANTLR start "createTableStatement"
// Parser.g:773:1: createTableStatement returns [CreateTableStatement.Raw stmt] : K_CREATE K_COLUMNFAMILY ( K_IF K_NOT K_EXISTS )? cf= columnFamilyName tableDefinition[stmt] ;
public final CreateTableStatement.Raw createTableStatement() throws RecognitionException {
CreateTableStatement.Raw stmt = null;
QualifiedName cf =null;
boolean ifNotExists = false;
try {
// Parser.g:775:5: ( K_CREATE K_COLUMNFAMILY ( K_IF K_NOT K_EXISTS )? cf= columnFamilyName tableDefinition[stmt] )
// Parser.g:775:7: K_CREATE K_COLUMNFAMILY ( K_IF K_NOT K_EXISTS )? cf= columnFamilyName tableDefinition[stmt]
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createTableStatement5150); if (state.failed) return stmt;
match(input,K_COLUMNFAMILY,FOLLOW_K_COLUMNFAMILY_in_createTableStatement5152); if (state.failed) return stmt;
// Parser.g:775:31: ( K_IF K_NOT K_EXISTS )?
int alt87=2;
int LA87_0 = input.LA(1);
if ( (LA87_0==K_IF) ) {
alt87=1;
}
switch (alt87) {
case 1 :
// Parser.g:775:32: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createTableStatement5155); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createTableStatement5157); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createTableStatement5159); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_createTableStatement5174);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new CreateTableStatement.Raw(cf, ifNotExists); }
pushFollow(FOLLOW_tableDefinition_in_createTableStatement5184);
tableDefinition(stmt);
state._fsp--;
if (state.failed) return stmt;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createTableStatement"
// $ANTLR start "tableDefinition"
// Parser.g:780:1: tableDefinition[CreateTableStatement.Raw stmt] : '(' tableColumns[stmt] ( ',' ( tableColumns[stmt] )? )* ')' ( K_WITH tableProperty[stmt] ( K_AND tableProperty[stmt] )* )? ;
public final void tableDefinition(CreateTableStatement.Raw stmt) throws RecognitionException {
try {
// Parser.g:781:5: ( '(' tableColumns[stmt] ( ',' ( tableColumns[stmt] )? )* ')' ( K_WITH tableProperty[stmt] ( K_AND tableProperty[stmt] )* )? )
// Parser.g:781:7: '(' tableColumns[stmt] ( ',' ( tableColumns[stmt] )? )* ')' ( K_WITH tableProperty[stmt] ( K_AND tableProperty[stmt] )* )?
{
match(input,208,FOLLOW_208_in_tableDefinition5203); if (state.failed) return;
pushFollow(FOLLOW_tableColumns_in_tableDefinition5205);
tableColumns(stmt);
state._fsp--;
if (state.failed) return;
// Parser.g:781:30: ( ',' ( tableColumns[stmt] )? )*
loop89:
while (true) {
int alt89=2;
int LA89_0 = input.LA(1);
if ( (LA89_0==212) ) {
alt89=1;
}
switch (alt89) {
case 1 :
// Parser.g:781:32: ',' ( tableColumns[stmt] )?
{
match(input,212,FOLLOW_212_in_tableDefinition5210); if (state.failed) return;
// Parser.g:781:36: ( tableColumns[stmt] )?
int alt88=2;
int LA88_0 = input.LA(1);
if ( (LA88_0==IDENT||LA88_0==K_ACCESS||(LA88_0 >= K_AGGREGATE && LA88_0 <= K_ALL)||LA88_0==K_AS||LA88_0==K_ASCII||(LA88_0 >= K_BIGINT && LA88_0 <= K_BOOLEAN)||(LA88_0 >= K_CALLED && LA88_0 <= K_CLUSTERING)||(LA88_0 >= K_COMPACT && LA88_0 <= K_COUNTER)||(LA88_0 >= K_CUSTOM && LA88_0 <= K_DEFAULT)||(LA88_0 >= K_DISTINCT && LA88_0 <= K_DOUBLE)||LA88_0==K_DURATION||(LA88_0 >= K_EXISTS && LA88_0 <= K_FLOAT)||LA88_0==K_FROZEN||(LA88_0 >= K_FUNCTION && LA88_0 <= K_FUNCTIONS)||(LA88_0 >= K_GROUP && LA88_0 <= K_IDENTITY)||(LA88_0 >= K_INET && LA88_0 <= K_INPUT)||(LA88_0 >= K_INT && LA88_0 <= K_INTERNALS)||(LA88_0 >= K_JSON && LA88_0 <= K_KEYS)||(LA88_0 >= K_KEYSPACES && LA88_0 <= K_LIKE)||(LA88_0 >= K_LIST && LA88_0 <= K_MASKED)||(LA88_0 >= K_MAXWRITETIME && LA88_0 <= K_MBEANS)||LA88_0==K_NOLOGIN||LA88_0==K_NOSUPERUSER||(LA88_0 >= K_ONLY && LA88_0 <= K_OPTIONS)||(LA88_0 >= K_PARTITION && LA88_0 <= K_PERMISSIONS)||LA88_0==K_PRIMARY||(LA88_0 >= K_REPLACE && LA88_0 <= K_RETURNS)||(LA88_0 >= K_ROLE && LA88_0 <= K_ROLES)||LA88_0==K_SELECT_MASKED||(LA88_0 >= K_SFUNC && LA88_0 <= K_TINYINT)||LA88_0==K_TRIGGER||(LA88_0 >= K_TTL && LA88_0 <= K_TYPES)||(LA88_0 >= K_UNMASK && LA88_0 <= K_UNSET)||(LA88_0 >= K_USER && LA88_0 <= K_USERS)||(LA88_0 >= K_UUID && LA88_0 <= K_VECTOR)||LA88_0==K_WRITETIME||LA88_0==QUOTED_NAME) ) {
alt88=1;
}
switch (alt88) {
case 1 :
// Parser.g:781:36: tableColumns[stmt]
{
pushFollow(FOLLOW_tableColumns_in_tableDefinition5212);
tableColumns(stmt);
state._fsp--;
if (state.failed) return;
}
break;
}
}
break;
default :
break loop89;
}
}
match(input,209,FOLLOW_209_in_tableDefinition5219); if (state.failed) return;
// Parser.g:782:7: ( K_WITH tableProperty[stmt] ( K_AND tableProperty[stmt] )* )?
int alt91=2;
int LA91_0 = input.LA(1);
if ( (LA91_0==K_WITH) ) {
alt91=1;
}
switch (alt91) {
case 1 :
// Parser.g:782:9: K_WITH tableProperty[stmt] ( K_AND tableProperty[stmt] )*
{
match(input,K_WITH,FOLLOW_K_WITH_in_tableDefinition5229); if (state.failed) return;
pushFollow(FOLLOW_tableProperty_in_tableDefinition5231);
tableProperty(stmt);
state._fsp--;
if (state.failed) return;
// Parser.g:782:36: ( K_AND tableProperty[stmt] )*
loop90:
while (true) {
int alt90=2;
int LA90_0 = input.LA(1);
if ( (LA90_0==K_AND) ) {
alt90=1;
}
switch (alt90) {
case 1 :
// Parser.g:782:38: K_AND tableProperty[stmt]
{
match(input,K_AND,FOLLOW_K_AND_in_tableDefinition5236); if (state.failed) return;
pushFollow(FOLLOW_tableProperty_in_tableDefinition5238);
tableProperty(stmt);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop90;
}
}
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tableDefinition"
// $ANTLR start "tableColumns"
// Parser.g:785:1: tableColumns[CreateTableStatement.Raw stmt] : (k= ident v= comparatorType ( K_STATIC )? (mask= columnMask )? ( K_PRIMARY K_KEY )? | K_PRIMARY K_KEY '(' tablePartitionKey[stmt] ( ',' c= ident )* ')' );
public final void tableColumns(CreateTableStatement.Raw stmt) throws RecognitionException {
ColumnIdentifier k =null;
CQL3Type.Raw v =null;
ColumnMask.Raw mask =null;
ColumnIdentifier c =null;
boolean isStatic = false;
try {
// Parser.g:787:5: (k= ident v= comparatorType ( K_STATIC )? (mask= columnMask )? ( K_PRIMARY K_KEY )? | K_PRIMARY K_KEY '(' tablePartitionKey[stmt] ( ',' c= ident )* ')' )
int alt96=2;
int LA96_0 = input.LA(1);
if ( (LA96_0==IDENT||LA96_0==K_ACCESS||(LA96_0 >= K_AGGREGATE && LA96_0 <= K_ALL)||LA96_0==K_AS||LA96_0==K_ASCII||(LA96_0 >= K_BIGINT && LA96_0 <= K_BOOLEAN)||(LA96_0 >= K_CALLED && LA96_0 <= K_CLUSTERING)||(LA96_0 >= K_COMPACT && LA96_0 <= K_COUNTER)||(LA96_0 >= K_CUSTOM && LA96_0 <= K_DEFAULT)||(LA96_0 >= K_DISTINCT && LA96_0 <= K_DOUBLE)||LA96_0==K_DURATION||(LA96_0 >= K_EXISTS && LA96_0 <= K_FLOAT)||LA96_0==K_FROZEN||(LA96_0 >= K_FUNCTION && LA96_0 <= K_FUNCTIONS)||(LA96_0 >= K_GROUP && LA96_0 <= K_IDENTITY)||(LA96_0 >= K_INET && LA96_0 <= K_INPUT)||(LA96_0 >= K_INT && LA96_0 <= K_INTERNALS)||(LA96_0 >= K_JSON && LA96_0 <= K_KEYS)||(LA96_0 >= K_KEYSPACES && LA96_0 <= K_LIKE)||(LA96_0 >= K_LIST && LA96_0 <= K_MASKED)||(LA96_0 >= K_MAXWRITETIME && LA96_0 <= K_MBEANS)||LA96_0==K_NOLOGIN||LA96_0==K_NOSUPERUSER||(LA96_0 >= K_ONLY && LA96_0 <= K_OPTIONS)||(LA96_0 >= K_PARTITION && LA96_0 <= K_PERMISSIONS)||(LA96_0 >= K_REPLACE && LA96_0 <= K_RETURNS)||(LA96_0 >= K_ROLE && LA96_0 <= K_ROLES)||LA96_0==K_SELECT_MASKED||(LA96_0 >= K_SFUNC && LA96_0 <= K_TINYINT)||LA96_0==K_TRIGGER||(LA96_0 >= K_TTL && LA96_0 <= K_TYPES)||(LA96_0 >= K_UNMASK && LA96_0 <= K_UNSET)||(LA96_0 >= K_USER && LA96_0 <= K_USERS)||(LA96_0 >= K_UUID && LA96_0 <= K_VECTOR)||LA96_0==K_WRITETIME||LA96_0==QUOTED_NAME) ) {
alt96=1;
}
else if ( (LA96_0==K_PRIMARY) ) {
alt96=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 96, 0, input);
throw nvae;
}
switch (alt96) {
case 1 :
// Parser.g:787:7: k= ident v= comparatorType ( K_STATIC )? (mask= columnMask )? ( K_PRIMARY K_KEY )?
{
pushFollow(FOLLOW_ident_in_tableColumns5273);
k=ident();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_comparatorType_in_tableColumns5277);
v=comparatorType();
state._fsp--;
if (state.failed) return;
// Parser.g:787:32: ( K_STATIC )?
int alt92=2;
int LA92_0 = input.LA(1);
if ( (LA92_0==K_STATIC) ) {
alt92=1;
}
switch (alt92) {
case 1 :
// Parser.g:787:33: K_STATIC
{
match(input,K_STATIC,FOLLOW_K_STATIC_in_tableColumns5280); if (state.failed) return;
if ( state.backtracking==0 ) { isStatic = true; }
}
break;
}
// Parser.g:787:65: (mask= columnMask )?
int alt93=2;
int LA93_0 = input.LA(1);
if ( (LA93_0==K_MASKED) ) {
alt93=1;
}
switch (alt93) {
case 1 :
// Parser.g:787:66: mask= columnMask
{
pushFollow(FOLLOW_columnMask_in_tableColumns5289);
mask=columnMask();
state._fsp--;
if (state.failed) return;
}
break;
}
if ( state.backtracking==0 ) { stmt.addColumn(k, v, isStatic, mask); }
// Parser.g:788:9: ( K_PRIMARY K_KEY )?
int alt94=2;
int LA94_0 = input.LA(1);
if ( (LA94_0==K_PRIMARY) ) {
alt94=1;
}
switch (alt94) {
case 1 :
// Parser.g:788:10: K_PRIMARY K_KEY
{
match(input,K_PRIMARY,FOLLOW_K_PRIMARY_in_tableColumns5304); if (state.failed) return;
match(input,K_KEY,FOLLOW_K_KEY_in_tableColumns5306); if (state.failed) return;
if ( state.backtracking==0 ) { stmt.setPartitionKeyColumn(k); }
}
break;
}
}
break;
case 2 :
// Parser.g:789:7: K_PRIMARY K_KEY '(' tablePartitionKey[stmt] ( ',' c= ident )* ')'
{
match(input,K_PRIMARY,FOLLOW_K_PRIMARY_in_tableColumns5318); if (state.failed) return;
match(input,K_KEY,FOLLOW_K_KEY_in_tableColumns5320); if (state.failed) return;
match(input,208,FOLLOW_208_in_tableColumns5322); if (state.failed) return;
pushFollow(FOLLOW_tablePartitionKey_in_tableColumns5324);
tablePartitionKey(stmt);
state._fsp--;
if (state.failed) return;
// Parser.g:789:51: ( ',' c= ident )*
loop95:
while (true) {
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==212) ) {
alt95=1;
}
switch (alt95) {
case 1 :
// Parser.g:789:52: ',' c= ident
{
match(input,212,FOLLOW_212_in_tableColumns5328); if (state.failed) return;
pushFollow(FOLLOW_ident_in_tableColumns5332);
c=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { stmt.markClusteringColumn(c); }
}
break;
default :
break loop95;
}
}
match(input,209,FOLLOW_209_in_tableColumns5339); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tableColumns"
// $ANTLR start "columnMask"
// Parser.g:792:1: columnMask returns [ColumnMask.Raw mask] : ( K_MASKED K_WITH name= functionName columnMaskArguments[arguments] | K_MASKED K_WITH K_DEFAULT );
public final ColumnMask.Raw columnMask() throws RecognitionException {
ColumnMask.Raw mask = null;
FunctionName name =null;
List arguments = new ArrayList<>();
try {
// Parser.g:794:5: ( K_MASKED K_WITH name= functionName columnMaskArguments[arguments] | K_MASKED K_WITH K_DEFAULT )
int alt97=2;
int LA97_0 = input.LA(1);
if ( (LA97_0==K_MASKED) ) {
int LA97_1 = input.LA(2);
if ( (LA97_1==K_WITH) ) {
int LA97_2 = input.LA(3);
if ( (LA97_2==K_DEFAULT) ) {
int LA97_3 = input.LA(4);
if ( (LA97_3==EOF||LA97_3==K_PRIMARY||LA97_3==209||LA97_3==212||LA97_3==218) ) {
alt97=2;
}
else if ( (LA97_3==208||LA97_3==215) ) {
alt97=1;
}
else {
if (state.backtracking>0) {state.failed=true; return mask;}
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 97, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA97_2==IDENT||LA97_2==K_ACCESS||(LA97_2 >= K_AGGREGATE && LA97_2 <= K_ALL)||LA97_2==K_AS||LA97_2==K_ASCII||(LA97_2 >= K_BIGINT && LA97_2 <= K_BOOLEAN)||(LA97_2 >= K_CALLED && LA97_2 <= K_CLUSTERING)||(LA97_2 >= K_COMPACT && LA97_2 <= K_COUNTER)||(LA97_2 >= K_CUSTOM && LA97_2 <= K_DECIMAL)||(LA97_2 >= K_DISTINCT && LA97_2 <= K_DOUBLE)||LA97_2==K_DURATION||(LA97_2 >= K_EXISTS && LA97_2 <= K_FLOAT)||LA97_2==K_FROZEN||(LA97_2 >= K_FUNCTION && LA97_2 <= K_FUNCTIONS)||(LA97_2 >= K_GROUP && LA97_2 <= K_IDENTITY)||(LA97_2 >= K_INET && LA97_2 <= K_INPUT)||(LA97_2 >= K_INT && LA97_2 <= K_INTERNALS)||(LA97_2 >= K_JSON && LA97_2 <= K_KEYS)||(LA97_2 >= K_KEYSPACES && LA97_2 <= K_LIKE)||(LA97_2 >= K_LIST && LA97_2 <= K_MASKED)||(LA97_2 >= K_MAXWRITETIME && LA97_2 <= K_MBEANS)||LA97_2==K_NOLOGIN||LA97_2==K_NOSUPERUSER||(LA97_2 >= K_ONLY && LA97_2 <= K_OPTIONS)||(LA97_2 >= K_PARTITION && LA97_2 <= K_PERMISSIONS)||(LA97_2 >= K_REPLACE && LA97_2 <= K_RETURNS)||(LA97_2 >= K_ROLE && LA97_2 <= K_ROLES)||LA97_2==K_SELECT_MASKED||(LA97_2 >= K_SFUNC && LA97_2 <= K_TINYINT)||(LA97_2 >= K_TOKEN && LA97_2 <= K_TRIGGER)||(LA97_2 >= K_TTL && LA97_2 <= K_TYPES)||(LA97_2 >= K_UNMASK && LA97_2 <= K_UNSET)||(LA97_2 >= K_USER && LA97_2 <= K_USERS)||(LA97_2 >= K_UUID && LA97_2 <= K_VECTOR)||LA97_2==K_WRITETIME||(LA97_2 >= QMARK && LA97_2 <= QUOTED_NAME)) ) {
alt97=1;
}
else {
if (state.backtracking>0) {state.failed=true; return mask;}
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 97, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return mask;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 97, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return mask;}
NoViableAltException nvae =
new NoViableAltException("", 97, 0, input);
throw nvae;
}
switch (alt97) {
case 1 :
// Parser.g:794:7: K_MASKED K_WITH name= functionName columnMaskArguments[arguments]
{
match(input,K_MASKED,FOLLOW_K_MASKED_in_columnMask5369); if (state.failed) return mask;
match(input,K_WITH,FOLLOW_K_WITH_in_columnMask5371); if (state.failed) return mask;
pushFollow(FOLLOW_functionName_in_columnMask5375);
name=functionName();
state._fsp--;
if (state.failed) return mask;
pushFollow(FOLLOW_columnMaskArguments_in_columnMask5377);
columnMaskArguments(arguments);
state._fsp--;
if (state.failed) return mask;
if ( state.backtracking==0 ) { mask = new ColumnMask.Raw(name, arguments); }
}
break;
case 2 :
// Parser.g:795:7: K_MASKED K_WITH K_DEFAULT
{
match(input,K_MASKED,FOLLOW_K_MASKED_in_columnMask5388); if (state.failed) return mask;
match(input,K_WITH,FOLLOW_K_WITH_in_columnMask5390); if (state.failed) return mask;
match(input,K_DEFAULT,FOLLOW_K_DEFAULT_in_columnMask5392); if (state.failed) return mask;
if ( state.backtracking==0 ) { mask = new ColumnMask.Raw(FunctionName.nativeFunction("mask_default"), arguments); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return mask;
}
// $ANTLR end "columnMask"
// $ANTLR start "columnMaskArguments"
// Parser.g:798:1: columnMaskArguments[List arguments] : ( '(' ')' | '(' c= term ( ',' cn= term )* ')' );
public final void columnMaskArguments(List arguments) throws RecognitionException {
Term.Raw c =null;
Term.Raw cn =null;
try {
// Parser.g:799:5: ( '(' ')' | '(' c= term ( ',' cn= term )* ')' )
int alt99=2;
int LA99_0 = input.LA(1);
if ( (LA99_0==208) ) {
int LA99_1 = input.LA(2);
if ( (LA99_1==209) ) {
alt99=1;
}
else if ( (LA99_1==BOOLEAN||LA99_1==DURATION||LA99_1==FLOAT||LA99_1==HEXNUMBER||(LA99_1 >= IDENT && LA99_1 <= INTEGER)||LA99_1==K_ACCESS||(LA99_1 >= K_AGGREGATE && LA99_1 <= K_ALL)||LA99_1==K_AS||LA99_1==K_ASCII||(LA99_1 >= K_BIGINT && LA99_1 <= K_BOOLEAN)||(LA99_1 >= K_CALLED && LA99_1 <= K_CLUSTERING)||(LA99_1 >= K_COMPACT && LA99_1 <= K_COUNTER)||(LA99_1 >= K_CUSTOM && LA99_1 <= K_DEFAULT)||(LA99_1 >= K_DISTINCT && LA99_1 <= K_DOUBLE)||LA99_1==K_DURATION||(LA99_1 >= K_EXISTS && LA99_1 <= K_FLOAT)||LA99_1==K_FROZEN||(LA99_1 >= K_FUNCTION && LA99_1 <= K_FUNCTIONS)||(LA99_1 >= K_GROUP && LA99_1 <= K_IDENTITY)||(LA99_1 >= K_INET && LA99_1 <= K_INPUT)||(LA99_1 >= K_INT && LA99_1 <= K_INTERNALS)||(LA99_1 >= K_JSON && LA99_1 <= K_KEYS)||(LA99_1 >= K_KEYSPACES && LA99_1 <= K_LIKE)||(LA99_1 >= K_LIST && LA99_1 <= K_MASKED)||(LA99_1 >= K_MAXWRITETIME && LA99_1 <= K_MBEANS)||(LA99_1 >= K_NEGATIVE_INFINITY && LA99_1 <= K_NOLOGIN)||LA99_1==K_NOSUPERUSER||LA99_1==K_NULL||(LA99_1 >= K_ONLY && LA99_1 <= K_OPTIONS)||(LA99_1 >= K_PARTITION && LA99_1 <= K_POSITIVE_NAN)||(LA99_1 >= K_REPLACE && LA99_1 <= K_RETURNS)||(LA99_1 >= K_ROLE && LA99_1 <= K_ROLES)||LA99_1==K_SELECT_MASKED||(LA99_1 >= K_SFUNC && LA99_1 <= K_TINYINT)||(LA99_1 >= K_TOKEN && LA99_1 <= K_TRIGGER)||(LA99_1 >= K_TTL && LA99_1 <= K_TYPES)||(LA99_1 >= K_UNMASK && LA99_1 <= K_UNSET)||(LA99_1 >= K_USER && LA99_1 <= K_USERS)||(LA99_1 >= K_UUID && LA99_1 <= K_VECTOR)||LA99_1==K_WRITETIME||(LA99_1 >= QMARK && LA99_1 <= QUOTED_NAME)||LA99_1==STRING_LITERAL||LA99_1==UUID||LA99_1==208||LA99_1==213||LA99_1==217||LA99_1==224||LA99_1==228) ) {
alt99=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 99, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 99, 0, input);
throw nvae;
}
switch (alt99) {
case 1 :
// Parser.g:799:7: '(' ')'
{
match(input,208,FOLLOW_208_in_columnMaskArguments5412); if (state.failed) return;
match(input,209,FOLLOW_209_in_columnMaskArguments5415); if (state.failed) return;
}
break;
case 2 :
// Parser.g:799:18: '(' c= term ( ',' cn= term )* ')'
{
match(input,208,FOLLOW_208_in_columnMaskArguments5419); if (state.failed) return;
pushFollow(FOLLOW_term_in_columnMaskArguments5423);
c=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { arguments.add(c); }
// Parser.g:799:51: ( ',' cn= term )*
loop98:
while (true) {
int alt98=2;
int LA98_0 = input.LA(1);
if ( (LA98_0==212) ) {
alt98=1;
}
switch (alt98) {
case 1 :
// Parser.g:799:52: ',' cn= term
{
match(input,212,FOLLOW_212_in_columnMaskArguments5428); if (state.failed) return;
pushFollow(FOLLOW_term_in_columnMaskArguments5432);
cn=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { arguments.add(cn); }
}
break;
default :
break loop98;
}
}
match(input,209,FOLLOW_209_in_columnMaskArguments5438); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "columnMaskArguments"
// $ANTLR start "tablePartitionKey"
// Parser.g:802:1: tablePartitionKey[CreateTableStatement.Raw stmt] : (k1= ident | '(' k1= ident ( ',' kn= ident )* ')' );
public final void tablePartitionKey(CreateTableStatement.Raw stmt) throws RecognitionException {
ColumnIdentifier k1 =null;
ColumnIdentifier kn =null;
List l = new ArrayList();
try {
// Parser.g:805:5: (k1= ident | '(' k1= ident ( ',' kn= ident )* ')' )
int alt101=2;
int LA101_0 = input.LA(1);
if ( (LA101_0==IDENT||LA101_0==K_ACCESS||(LA101_0 >= K_AGGREGATE && LA101_0 <= K_ALL)||LA101_0==K_AS||LA101_0==K_ASCII||(LA101_0 >= K_BIGINT && LA101_0 <= K_BOOLEAN)||(LA101_0 >= K_CALLED && LA101_0 <= K_CLUSTERING)||(LA101_0 >= K_COMPACT && LA101_0 <= K_COUNTER)||(LA101_0 >= K_CUSTOM && LA101_0 <= K_DEFAULT)||(LA101_0 >= K_DISTINCT && LA101_0 <= K_DOUBLE)||LA101_0==K_DURATION||(LA101_0 >= K_EXISTS && LA101_0 <= K_FLOAT)||LA101_0==K_FROZEN||(LA101_0 >= K_FUNCTION && LA101_0 <= K_FUNCTIONS)||(LA101_0 >= K_GROUP && LA101_0 <= K_IDENTITY)||(LA101_0 >= K_INET && LA101_0 <= K_INPUT)||(LA101_0 >= K_INT && LA101_0 <= K_INTERNALS)||(LA101_0 >= K_JSON && LA101_0 <= K_KEYS)||(LA101_0 >= K_KEYSPACES && LA101_0 <= K_LIKE)||(LA101_0 >= K_LIST && LA101_0 <= K_MASKED)||(LA101_0 >= K_MAXWRITETIME && LA101_0 <= K_MBEANS)||LA101_0==K_NOLOGIN||LA101_0==K_NOSUPERUSER||(LA101_0 >= K_ONLY && LA101_0 <= K_OPTIONS)||(LA101_0 >= K_PARTITION && LA101_0 <= K_PERMISSIONS)||(LA101_0 >= K_REPLACE && LA101_0 <= K_RETURNS)||(LA101_0 >= K_ROLE && LA101_0 <= K_ROLES)||LA101_0==K_SELECT_MASKED||(LA101_0 >= K_SFUNC && LA101_0 <= K_TINYINT)||LA101_0==K_TRIGGER||(LA101_0 >= K_TTL && LA101_0 <= K_TYPES)||(LA101_0 >= K_UNMASK && LA101_0 <= K_UNSET)||(LA101_0 >= K_USER && LA101_0 <= K_USERS)||(LA101_0 >= K_UUID && LA101_0 <= K_VECTOR)||LA101_0==K_WRITETIME||LA101_0==QUOTED_NAME) ) {
alt101=1;
}
else if ( (LA101_0==208) ) {
alt101=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 101, 0, input);
throw nvae;
}
switch (alt101) {
case 1 :
// Parser.g:805:7: k1= ident
{
pushFollow(FOLLOW_ident_in_tablePartitionKey5475);
k1=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { l.add(k1);}
}
break;
case 2 :
// Parser.g:806:7: '(' k1= ident ( ',' kn= ident )* ')'
{
match(input,208,FOLLOW_208_in_tablePartitionKey5485); if (state.failed) return;
pushFollow(FOLLOW_ident_in_tablePartitionKey5489);
k1=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { l.add(k1); }
// Parser.g:806:35: ( ',' kn= ident )*
loop100:
while (true) {
int alt100=2;
int LA100_0 = input.LA(1);
if ( (LA100_0==212) ) {
alt100=1;
}
switch (alt100) {
case 1 :
// Parser.g:806:37: ',' kn= ident
{
match(input,212,FOLLOW_212_in_tablePartitionKey5495); if (state.failed) return;
pushFollow(FOLLOW_ident_in_tablePartitionKey5499);
kn=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { l.add(kn); }
}
break;
default :
break loop100;
}
}
match(input,209,FOLLOW_209_in_tablePartitionKey5506); if (state.failed) return;
}
break;
}
if ( state.backtracking==0 ) { stmt.setPartitionKeyColumns(l); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tablePartitionKey"
// $ANTLR start "tableProperty"
// Parser.g:809:1: tableProperty[CreateTableStatement.Raw stmt] : ( property[stmt.attrs] | K_COMPACT K_STORAGE | K_CLUSTERING K_ORDER K_BY '(' tableClusteringOrder[stmt] ( ',' tableClusteringOrder[stmt] )* ')' );
public final void tableProperty(CreateTableStatement.Raw stmt) throws RecognitionException {
try {
// Parser.g:810:5: ( property[stmt.attrs] | K_COMPACT K_STORAGE | K_CLUSTERING K_ORDER K_BY '(' tableClusteringOrder[stmt] ( ',' tableClusteringOrder[stmt] )* ')' )
int alt103=3;
switch ( input.LA(1) ) {
case IDENT:
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
case QUOTED_NAME:
{
alt103=1;
}
break;
case K_COMPACT:
{
int LA103_2 = input.LA(2);
if ( (LA103_2==K_STORAGE) ) {
alt103=2;
}
else if ( (LA103_2==221) ) {
alt103=1;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 103, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case K_CLUSTERING:
{
int LA103_3 = input.LA(2);
if ( (LA103_3==K_ORDER) ) {
alt103=3;
}
else if ( (LA103_3==221) ) {
alt103=1;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 103, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 103, 0, input);
throw nvae;
}
switch (alt103) {
case 1 :
// Parser.g:810:7: property[stmt.attrs]
{
pushFollow(FOLLOW_property_in_tableProperty5524);
property(stmt.attrs);
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
// Parser.g:811:7: K_COMPACT K_STORAGE
{
match(input,K_COMPACT,FOLLOW_K_COMPACT_in_tableProperty5533); if (state.failed) return;
match(input,K_STORAGE,FOLLOW_K_STORAGE_in_tableProperty5535); if (state.failed) return;
if ( state.backtracking==0 ) { stmt.setCompactStorage(); }
}
break;
case 3 :
// Parser.g:812:7: K_CLUSTERING K_ORDER K_BY '(' tableClusteringOrder[stmt] ( ',' tableClusteringOrder[stmt] )* ')'
{
match(input,K_CLUSTERING,FOLLOW_K_CLUSTERING_in_tableProperty5545); if (state.failed) return;
match(input,K_ORDER,FOLLOW_K_ORDER_in_tableProperty5547); if (state.failed) return;
match(input,K_BY,FOLLOW_K_BY_in_tableProperty5549); if (state.failed) return;
match(input,208,FOLLOW_208_in_tableProperty5551); if (state.failed) return;
pushFollow(FOLLOW_tableClusteringOrder_in_tableProperty5553);
tableClusteringOrder(stmt);
state._fsp--;
if (state.failed) return;
// Parser.g:812:64: ( ',' tableClusteringOrder[stmt] )*
loop102:
while (true) {
int alt102=2;
int LA102_0 = input.LA(1);
if ( (LA102_0==212) ) {
alt102=1;
}
switch (alt102) {
case 1 :
// Parser.g:812:65: ',' tableClusteringOrder[stmt]
{
match(input,212,FOLLOW_212_in_tableProperty5557); if (state.failed) return;
pushFollow(FOLLOW_tableClusteringOrder_in_tableProperty5559);
tableClusteringOrder(stmt);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop102;
}
}
match(input,209,FOLLOW_209_in_tableProperty5564); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tableProperty"
// $ANTLR start "tableClusteringOrder"
// Parser.g:815:1: tableClusteringOrder[CreateTableStatement.Raw stmt] : k= ident ( K_ASC | K_DESC ) ;
public final void tableClusteringOrder(CreateTableStatement.Raw stmt) throws RecognitionException {
ColumnIdentifier k =null;
boolean ascending = true;
try {
// Parser.g:817:5: (k= ident ( K_ASC | K_DESC ) )
// Parser.g:817:7: k= ident ( K_ASC | K_DESC )
{
pushFollow(FOLLOW_ident_in_tableClusteringOrder5592);
k=ident();
state._fsp--;
if (state.failed) return;
// Parser.g:817:15: ( K_ASC | K_DESC )
int alt104=2;
int LA104_0 = input.LA(1);
if ( (LA104_0==K_ASC) ) {
alt104=1;
}
else if ( (LA104_0==K_DESC) ) {
alt104=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 104, 0, input);
throw nvae;
}
switch (alt104) {
case 1 :
// Parser.g:817:16: K_ASC
{
match(input,K_ASC,FOLLOW_K_ASC_in_tableClusteringOrder5595); if (state.failed) return;
}
break;
case 2 :
// Parser.g:817:24: K_DESC
{
match(input,K_DESC,FOLLOW_K_DESC_in_tableClusteringOrder5599); if (state.failed) return;
if ( state.backtracking==0 ) { ascending = false; }
}
break;
}
if ( state.backtracking==0 ) { stmt.extendClusteringOrder(k, ascending); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "tableClusteringOrder"
// $ANTLR start "createTypeStatement"
// Parser.g:827:1: createTypeStatement returns [CreateTypeStatement.Raw stmt] : K_CREATE K_TYPE ( K_IF K_NOT K_EXISTS )? tn= userTypeName '(' typeColumns[stmt] ( ',' ( typeColumns[stmt] )? )* ')' ;
public final CreateTypeStatement.Raw createTypeStatement() throws RecognitionException {
CreateTypeStatement.Raw stmt = null;
UTName tn =null;
boolean ifNotExists = false;
try {
// Parser.g:829:5: ( K_CREATE K_TYPE ( K_IF K_NOT K_EXISTS )? tn= userTypeName '(' typeColumns[stmt] ( ',' ( typeColumns[stmt] )? )* ')' )
// Parser.g:829:7: K_CREATE K_TYPE ( K_IF K_NOT K_EXISTS )? tn= userTypeName '(' typeColumns[stmt] ( ',' ( typeColumns[stmt] )? )* ')'
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createTypeStatement5637); if (state.failed) return stmt;
match(input,K_TYPE,FOLLOW_K_TYPE_in_createTypeStatement5639); if (state.failed) return stmt;
// Parser.g:829:23: ( K_IF K_NOT K_EXISTS )?
int alt105=2;
int LA105_0 = input.LA(1);
if ( (LA105_0==K_IF) ) {
alt105=1;
}
switch (alt105) {
case 1 :
// Parser.g:829:24: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createTypeStatement5642); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createTypeStatement5644); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createTypeStatement5646); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_userTypeName_in_createTypeStatement5664);
tn=userTypeName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new CreateTypeStatement.Raw(tn, ifNotExists); }
match(input,208,FOLLOW_208_in_createTypeStatement5677); if (state.failed) return stmt;
pushFollow(FOLLOW_typeColumns_in_createTypeStatement5679);
typeColumns(stmt);
state._fsp--;
if (state.failed) return stmt;
// Parser.g:831:32: ( ',' ( typeColumns[stmt] )? )*
loop107:
while (true) {
int alt107=2;
int LA107_0 = input.LA(1);
if ( (LA107_0==212) ) {
alt107=1;
}
switch (alt107) {
case 1 :
// Parser.g:831:34: ',' ( typeColumns[stmt] )?
{
match(input,212,FOLLOW_212_in_createTypeStatement5684); if (state.failed) return stmt;
// Parser.g:831:38: ( typeColumns[stmt] )?
int alt106=2;
int LA106_0 = input.LA(1);
if ( (LA106_0==IDENT||LA106_0==K_ACCESS||(LA106_0 >= K_AGGREGATE && LA106_0 <= K_ALL)||LA106_0==K_AS||LA106_0==K_ASCII||(LA106_0 >= K_BIGINT && LA106_0 <= K_BOOLEAN)||(LA106_0 >= K_CALLED && LA106_0 <= K_CLUSTERING)||(LA106_0 >= K_COMPACT && LA106_0 <= K_COUNTER)||(LA106_0 >= K_CUSTOM && LA106_0 <= K_DEFAULT)||(LA106_0 >= K_DISTINCT && LA106_0 <= K_DOUBLE)||LA106_0==K_DURATION||(LA106_0 >= K_EXISTS && LA106_0 <= K_FLOAT)||LA106_0==K_FROZEN||(LA106_0 >= K_FUNCTION && LA106_0 <= K_FUNCTIONS)||(LA106_0 >= K_GROUP && LA106_0 <= K_IDENTITY)||(LA106_0 >= K_INET && LA106_0 <= K_INPUT)||(LA106_0 >= K_INT && LA106_0 <= K_INTERNALS)||(LA106_0 >= K_JSON && LA106_0 <= K_KEYS)||(LA106_0 >= K_KEYSPACES && LA106_0 <= K_LIKE)||(LA106_0 >= K_LIST && LA106_0 <= K_MASKED)||(LA106_0 >= K_MAXWRITETIME && LA106_0 <= K_MBEANS)||LA106_0==K_NOLOGIN||LA106_0==K_NOSUPERUSER||(LA106_0 >= K_ONLY && LA106_0 <= K_OPTIONS)||(LA106_0 >= K_PARTITION && LA106_0 <= K_PERMISSIONS)||(LA106_0 >= K_REPLACE && LA106_0 <= K_RETURNS)||(LA106_0 >= K_ROLE && LA106_0 <= K_ROLES)||LA106_0==K_SELECT_MASKED||(LA106_0 >= K_SFUNC && LA106_0 <= K_TINYINT)||LA106_0==K_TRIGGER||(LA106_0 >= K_TTL && LA106_0 <= K_TYPES)||(LA106_0 >= K_UNMASK && LA106_0 <= K_UNSET)||(LA106_0 >= K_USER && LA106_0 <= K_USERS)||(LA106_0 >= K_UUID && LA106_0 <= K_VECTOR)||LA106_0==K_WRITETIME||LA106_0==QUOTED_NAME) ) {
alt106=1;
}
switch (alt106) {
case 1 :
// Parser.g:831:38: typeColumns[stmt]
{
pushFollow(FOLLOW_typeColumns_in_createTypeStatement5686);
typeColumns(stmt);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
}
break;
default :
break loop107;
}
}
match(input,209,FOLLOW_209_in_createTypeStatement5693); if (state.failed) return stmt;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createTypeStatement"
// $ANTLR start "typeColumns"
// Parser.g:834:1: typeColumns[CreateTypeStatement.Raw stmt] : k= fident v= comparatorType ;
public final void typeColumns(CreateTypeStatement.Raw stmt) throws RecognitionException {
FieldIdentifier k =null;
CQL3Type.Raw v =null;
try {
// Parser.g:835:5: (k= fident v= comparatorType )
// Parser.g:835:7: k= fident v= comparatorType
{
pushFollow(FOLLOW_fident_in_typeColumns5713);
k=fident();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_comparatorType_in_typeColumns5717);
v=comparatorType();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { stmt.addField(k, v); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "typeColumns"
// $ANTLR start "createIndexStatement"
// Parser.g:842:1: createIndexStatement returns [CreateIndexStatement.Raw stmt] : K_CREATE ( K_CUSTOM )? K_INDEX ( K_IF K_NOT K_EXISTS )? ( idxName[name] )? K_ON cf= columnFamilyName '(' ( indexIdent[targets] ( ',' indexIdent[targets] )* )? ')' ( K_USING cls= STRING_LITERAL )? ( K_WITH properties[props] )? ;
public final CreateIndexStatement.Raw createIndexStatement() throws RecognitionException {
CreateIndexStatement.Raw stmt = null;
Token cls=null;
QualifiedName cf =null;
IndexAttributes props = new IndexAttributes();
boolean ifNotExists = false;
QualifiedName name = new QualifiedName();
List targets = new ArrayList<>();
try {
// Parser.g:849:5: ( K_CREATE ( K_CUSTOM )? K_INDEX ( K_IF K_NOT K_EXISTS )? ( idxName[name] )? K_ON cf= columnFamilyName '(' ( indexIdent[targets] ( ',' indexIdent[targets] )* )? ')' ( K_USING cls= STRING_LITERAL )? ( K_WITH properties[props] )? )
// Parser.g:849:7: K_CREATE ( K_CUSTOM )? K_INDEX ( K_IF K_NOT K_EXISTS )? ( idxName[name] )? K_ON cf= columnFamilyName '(' ( indexIdent[targets] ( ',' indexIdent[targets] )* )? ')' ( K_USING cls= STRING_LITERAL )? ( K_WITH properties[props] )?
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createIndexStatement5751); if (state.failed) return stmt;
// Parser.g:849:16: ( K_CUSTOM )?
int alt108=2;
int LA108_0 = input.LA(1);
if ( (LA108_0==K_CUSTOM) ) {
alt108=1;
}
switch (alt108) {
case 1 :
// Parser.g:849:17: K_CUSTOM
{
match(input,K_CUSTOM,FOLLOW_K_CUSTOM_in_createIndexStatement5754); if (state.failed) return stmt;
if ( state.backtracking==0 ) { props.isCustom = true; }
}
break;
}
match(input,K_INDEX,FOLLOW_K_INDEX_in_createIndexStatement5760); if (state.failed) return stmt;
// Parser.g:849:63: ( K_IF K_NOT K_EXISTS )?
int alt109=2;
int LA109_0 = input.LA(1);
if ( (LA109_0==K_IF) ) {
alt109=1;
}
switch (alt109) {
case 1 :
// Parser.g:849:64: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createIndexStatement5763); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createIndexStatement5765); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createIndexStatement5767); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
// Parser.g:850:9: ( idxName[name] )?
int alt110=2;
int LA110_0 = input.LA(1);
if ( (LA110_0==IDENT||LA110_0==K_ACCESS||(LA110_0 >= K_AGGREGATE && LA110_0 <= K_ALL)||LA110_0==K_AS||LA110_0==K_ASCII||(LA110_0 >= K_BIGINT && LA110_0 <= K_BOOLEAN)||(LA110_0 >= K_CALLED && LA110_0 <= K_CLUSTERING)||(LA110_0 >= K_COMPACT && LA110_0 <= K_COUNTER)||(LA110_0 >= K_CUSTOM && LA110_0 <= K_DEFAULT)||(LA110_0 >= K_DISTINCT && LA110_0 <= K_DOUBLE)||LA110_0==K_DURATION||(LA110_0 >= K_EXISTS && LA110_0 <= K_FLOAT)||LA110_0==K_FROZEN||(LA110_0 >= K_FUNCTION && LA110_0 <= K_FUNCTIONS)||(LA110_0 >= K_GROUP && LA110_0 <= K_IDENTITY)||(LA110_0 >= K_INET && LA110_0 <= K_INPUT)||(LA110_0 >= K_INT && LA110_0 <= K_INTERNALS)||(LA110_0 >= K_JSON && LA110_0 <= K_KEYS)||(LA110_0 >= K_KEYSPACES && LA110_0 <= K_LIKE)||(LA110_0 >= K_LIST && LA110_0 <= K_MASKED)||(LA110_0 >= K_MAXWRITETIME && LA110_0 <= K_MBEANS)||LA110_0==K_NOLOGIN||LA110_0==K_NOSUPERUSER||(LA110_0 >= K_ONLY && LA110_0 <= K_OPTIONS)||(LA110_0 >= K_PARTITION && LA110_0 <= K_PERMISSIONS)||(LA110_0 >= K_REPLACE && LA110_0 <= K_RETURNS)||(LA110_0 >= K_ROLE && LA110_0 <= K_ROLES)||LA110_0==K_SELECT_MASKED||(LA110_0 >= K_SFUNC && LA110_0 <= K_TINYINT)||LA110_0==K_TRIGGER||(LA110_0 >= K_TTL && LA110_0 <= K_TYPES)||(LA110_0 >= K_UNMASK && LA110_0 <= K_UNSET)||(LA110_0 >= K_USER && LA110_0 <= K_USERS)||(LA110_0 >= K_UUID && LA110_0 <= K_VECTOR)||LA110_0==K_WRITETIME||(LA110_0 >= QMARK && LA110_0 <= QUOTED_NAME)) ) {
alt110=1;
}
switch (alt110) {
case 1 :
// Parser.g:850:10: idxName[name]
{
pushFollow(FOLLOW_idxName_in_createIndexStatement5783);
idxName(name);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
match(input,K_ON,FOLLOW_K_ON_in_createIndexStatement5788); if (state.failed) return stmt;
pushFollow(FOLLOW_columnFamilyName_in_createIndexStatement5792);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
match(input,208,FOLLOW_208_in_createIndexStatement5794); if (state.failed) return stmt;
// Parser.g:850:55: ( indexIdent[targets] ( ',' indexIdent[targets] )* )?
int alt112=2;
int LA112_0 = input.LA(1);
if ( (LA112_0==EMPTY_QUOTED_NAME||LA112_0==IDENT||LA112_0==K_ACCESS||(LA112_0 >= K_AGGREGATE && LA112_0 <= K_ALL)||LA112_0==K_AS||LA112_0==K_ASCII||(LA112_0 >= K_BIGINT && LA112_0 <= K_BOOLEAN)||(LA112_0 >= K_CALLED && LA112_0 <= K_CLUSTERING)||(LA112_0 >= K_COMPACT && LA112_0 <= K_COUNTER)||(LA112_0 >= K_CUSTOM && LA112_0 <= K_DEFAULT)||(LA112_0 >= K_DISTINCT && LA112_0 <= K_DOUBLE)||(LA112_0 >= K_DURATION && LA112_0 <= K_ENTRIES)||(LA112_0 >= K_EXISTS && LA112_0 <= K_FLOAT)||(LA112_0 >= K_FROZEN && LA112_0 <= K_FUNCTIONS)||(LA112_0 >= K_GROUP && LA112_0 <= K_IDENTITY)||(LA112_0 >= K_INET && LA112_0 <= K_INPUT)||(LA112_0 >= K_INT && LA112_0 <= K_INTERNALS)||(LA112_0 >= K_JSON && LA112_0 <= K_KEYS)||(LA112_0 >= K_KEYSPACES && LA112_0 <= K_LIKE)||(LA112_0 >= K_LIST && LA112_0 <= K_MASKED)||(LA112_0 >= K_MAXWRITETIME && LA112_0 <= K_MBEANS)||LA112_0==K_NOLOGIN||LA112_0==K_NOSUPERUSER||(LA112_0 >= K_ONLY && LA112_0 <= K_OPTIONS)||(LA112_0 >= K_PARTITION && LA112_0 <= K_PERMISSIONS)||(LA112_0 >= K_REPLACE && LA112_0 <= K_RETURNS)||(LA112_0 >= K_ROLE && LA112_0 <= K_ROLES)||LA112_0==K_SELECT_MASKED||(LA112_0 >= K_SFUNC && LA112_0 <= K_TINYINT)||LA112_0==K_TRIGGER||(LA112_0 >= K_TTL && LA112_0 <= K_TYPES)||(LA112_0 >= K_UNMASK && LA112_0 <= K_UNSET)||(LA112_0 >= K_USER && LA112_0 <= K_USERS)||(LA112_0 >= K_UUID && LA112_0 <= K_VECTOR)||LA112_0==K_WRITETIME||LA112_0==QUOTED_NAME) ) {
alt112=1;
}
switch (alt112) {
case 1 :
// Parser.g:850:56: indexIdent[targets] ( ',' indexIdent[targets] )*
{
pushFollow(FOLLOW_indexIdent_in_createIndexStatement5797);
indexIdent(targets);
state._fsp--;
if (state.failed) return stmt;
// Parser.g:850:76: ( ',' indexIdent[targets] )*
loop111:
while (true) {
int alt111=2;
int LA111_0 = input.LA(1);
if ( (LA111_0==212) ) {
alt111=1;
}
switch (alt111) {
case 1 :
// Parser.g:850:77: ',' indexIdent[targets]
{
match(input,212,FOLLOW_212_in_createIndexStatement5801); if (state.failed) return stmt;
pushFollow(FOLLOW_indexIdent_in_createIndexStatement5803);
indexIdent(targets);
state._fsp--;
if (state.failed) return stmt;
}
break;
default :
break loop111;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_createIndexStatement5810); if (state.failed) return stmt;
// Parser.g:851:9: ( K_USING cls= STRING_LITERAL )?
int alt113=2;
int LA113_0 = input.LA(1);
if ( (LA113_0==K_USING) ) {
alt113=1;
}
switch (alt113) {
case 1 :
// Parser.g:851:10: K_USING cls= STRING_LITERAL
{
match(input,K_USING,FOLLOW_K_USING_in_createIndexStatement5821); if (state.failed) return stmt;
cls=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_createIndexStatement5825); if (state.failed) return stmt;
if ( state.backtracking==0 ) { props.customClass = (cls!=null?cls.getText():null); }
}
break;
}
// Parser.g:852:9: ( K_WITH properties[props] )?
int alt114=2;
int LA114_0 = input.LA(1);
if ( (LA114_0==K_WITH) ) {
alt114=1;
}
switch (alt114) {
case 1 :
// Parser.g:852:10: K_WITH properties[props]
{
match(input,K_WITH,FOLLOW_K_WITH_in_createIndexStatement5840); if (state.failed) return stmt;
pushFollow(FOLLOW_properties_in_createIndexStatement5842);
properties(props);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) { stmt = new CreateIndexStatement.Raw(cf, name, targets, props, ifNotExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createIndexStatement"
// $ANTLR start "indexIdent"
// Parser.g:856:1: indexIdent[List targets] : (c= cident | K_VALUES '(' c= cident ')' | K_KEYS '(' c= cident ')' | K_ENTRIES '(' c= cident ')' | K_FULL '(' c= cident ')' );
public final void indexIdent(List targets) throws RecognitionException {
ColumnIdentifier c =null;
try {
// Parser.g:857:5: (c= cident | K_VALUES '(' c= cident ')' | K_KEYS '(' c= cident ')' | K_ENTRIES '(' c= cident ')' | K_FULL '(' c= cident ')' )
int alt115=5;
switch ( input.LA(1) ) {
case EMPTY_QUOTED_NAME:
case IDENT:
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
case QUOTED_NAME:
{
alt115=1;
}
break;
case K_VALUES:
{
int LA115_2 = input.LA(2);
if ( (LA115_2==208) ) {
alt115=2;
}
else if ( (LA115_2==209||LA115_2==212) ) {
alt115=1;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 115, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case K_KEYS:
{
int LA115_3 = input.LA(2);
if ( (LA115_3==208) ) {
alt115=3;
}
else if ( (LA115_3==209||LA115_3==212) ) {
alt115=1;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 115, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case K_ENTRIES:
{
alt115=4;
}
break;
case K_FULL:
{
alt115=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 115, 0, input);
throw nvae;
}
switch (alt115) {
case 1 :
// Parser.g:857:7: c= cident
{
pushFollow(FOLLOW_cident_in_indexIdent5874);
c=cident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { targets.add(IndexTarget.Raw.simpleIndexOn(c)); }
}
break;
case 2 :
// Parser.g:858:7: K_VALUES '(' c= cident ')'
{
match(input,K_VALUES,FOLLOW_K_VALUES_in_indexIdent5902); if (state.failed) return;
match(input,208,FOLLOW_208_in_indexIdent5904); if (state.failed) return;
pushFollow(FOLLOW_cident_in_indexIdent5908);
c=cident();
state._fsp--;
if (state.failed) return;
match(input,209,FOLLOW_209_in_indexIdent5910); if (state.failed) return;
if ( state.backtracking==0 ) { targets.add(IndexTarget.Raw.valuesOf(c)); }
}
break;
case 3 :
// Parser.g:859:7: K_KEYS '(' c= cident ')'
{
match(input,K_KEYS,FOLLOW_K_KEYS_in_indexIdent5921); if (state.failed) return;
match(input,208,FOLLOW_208_in_indexIdent5923); if (state.failed) return;
pushFollow(FOLLOW_cident_in_indexIdent5927);
c=cident();
state._fsp--;
if (state.failed) return;
match(input,209,FOLLOW_209_in_indexIdent5929); if (state.failed) return;
if ( state.backtracking==0 ) { targets.add(IndexTarget.Raw.keysOf(c)); }
}
break;
case 4 :
// Parser.g:860:7: K_ENTRIES '(' c= cident ')'
{
match(input,K_ENTRIES,FOLLOW_K_ENTRIES_in_indexIdent5942); if (state.failed) return;
match(input,208,FOLLOW_208_in_indexIdent5944); if (state.failed) return;
pushFollow(FOLLOW_cident_in_indexIdent5948);
c=cident();
state._fsp--;
if (state.failed) return;
match(input,209,FOLLOW_209_in_indexIdent5950); if (state.failed) return;
if ( state.backtracking==0 ) { targets.add(IndexTarget.Raw.keysAndValuesOf(c)); }
}
break;
case 5 :
// Parser.g:861:7: K_FULL '(' c= cident ')'
{
match(input,K_FULL,FOLLOW_K_FULL_in_indexIdent5960); if (state.failed) return;
match(input,208,FOLLOW_208_in_indexIdent5962); if (state.failed) return;
pushFollow(FOLLOW_cident_in_indexIdent5966);
c=cident();
state._fsp--;
if (state.failed) return;
match(input,209,FOLLOW_209_in_indexIdent5968); if (state.failed) return;
if ( state.backtracking==0 ) { targets.add(IndexTarget.Raw.fullCollection(c)); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "indexIdent"
// $ANTLR start "createMaterializedViewStatement"
// Parser.g:872:1: createMaterializedViewStatement returns [CreateViewStatement.Raw stmt] : K_CREATE K_MATERIALIZED K_VIEW ( K_IF K_NOT K_EXISTS )? cf= columnFamilyName K_AS K_SELECT sclause= selectors K_FROM basecf= columnFamilyName ( K_WHERE wclause= whereClause )? viewPrimaryKey[stmt] ( K_WITH viewProperty[stmt] ( K_AND viewProperty[stmt] )* )? ;
public final CreateViewStatement.Raw createMaterializedViewStatement() throws RecognitionException {
CreateViewStatement.Raw stmt = null;
QualifiedName cf =null;
List sclause =null;
QualifiedName basecf =null;
WhereClause.Builder wclause =null;
boolean ifNotExists = false;
try {
// Parser.g:876:5: ( K_CREATE K_MATERIALIZED K_VIEW ( K_IF K_NOT K_EXISTS )? cf= columnFamilyName K_AS K_SELECT sclause= selectors K_FROM basecf= columnFamilyName ( K_WHERE wclause= whereClause )? viewPrimaryKey[stmt] ( K_WITH viewProperty[stmt] ( K_AND viewProperty[stmt] )* )? )
// Parser.g:876:7: K_CREATE K_MATERIALIZED K_VIEW ( K_IF K_NOT K_EXISTS )? cf= columnFamilyName K_AS K_SELECT sclause= selectors K_FROM basecf= columnFamilyName ( K_WHERE wclause= whereClause )? viewPrimaryKey[stmt] ( K_WITH viewProperty[stmt] ( K_AND viewProperty[stmt] )* )?
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createMaterializedViewStatement6005); if (state.failed) return stmt;
match(input,K_MATERIALIZED,FOLLOW_K_MATERIALIZED_in_createMaterializedViewStatement6007); if (state.failed) return stmt;
match(input,K_VIEW,FOLLOW_K_VIEW_in_createMaterializedViewStatement6009); if (state.failed) return stmt;
// Parser.g:876:38: ( K_IF K_NOT K_EXISTS )?
int alt116=2;
int LA116_0 = input.LA(1);
if ( (LA116_0==K_IF) ) {
alt116=1;
}
switch (alt116) {
case 1 :
// Parser.g:876:39: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createMaterializedViewStatement6012); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createMaterializedViewStatement6014); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createMaterializedViewStatement6016); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_createMaterializedViewStatement6024);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_AS,FOLLOW_K_AS_in_createMaterializedViewStatement6026); if (state.failed) return stmt;
match(input,K_SELECT,FOLLOW_K_SELECT_in_createMaterializedViewStatement6036); if (state.failed) return stmt;
pushFollow(FOLLOW_selectors_in_createMaterializedViewStatement6040);
sclause=selectors();
state._fsp--;
if (state.failed) return stmt;
match(input,K_FROM,FOLLOW_K_FROM_in_createMaterializedViewStatement6042); if (state.failed) return stmt;
pushFollow(FOLLOW_columnFamilyName_in_createMaterializedViewStatement6046);
basecf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:878:9: ( K_WHERE wclause= whereClause )?
int alt117=2;
int LA117_0 = input.LA(1);
if ( (LA117_0==K_WHERE) ) {
alt117=1;
}
switch (alt117) {
case 1 :
// Parser.g:878:10: K_WHERE wclause= whereClause
{
match(input,K_WHERE,FOLLOW_K_WHERE_in_createMaterializedViewStatement6057); if (state.failed) return stmt;
pushFollow(FOLLOW_whereClause_in_createMaterializedViewStatement6061);
wclause=whereClause();
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) {
WhereClause where = wclause == null ? WhereClause.empty() : wclause.build();
stmt = new CreateViewStatement.Raw(basecf, cf, sclause, where, ifNotExists);
}
pushFollow(FOLLOW_viewPrimaryKey_in_createMaterializedViewStatement6083);
viewPrimaryKey(stmt);
state._fsp--;
if (state.failed) return stmt;
// Parser.g:884:9: ( K_WITH viewProperty[stmt] ( K_AND viewProperty[stmt] )* )?
int alt119=2;
int LA119_0 = input.LA(1);
if ( (LA119_0==K_WITH) ) {
alt119=1;
}
switch (alt119) {
case 1 :
// Parser.g:884:11: K_WITH viewProperty[stmt] ( K_AND viewProperty[stmt] )*
{
match(input,K_WITH,FOLLOW_K_WITH_in_createMaterializedViewStatement6096); if (state.failed) return stmt;
pushFollow(FOLLOW_viewProperty_in_createMaterializedViewStatement6098);
viewProperty(stmt);
state._fsp--;
if (state.failed) return stmt;
// Parser.g:884:37: ( K_AND viewProperty[stmt] )*
loop118:
while (true) {
int alt118=2;
int LA118_0 = input.LA(1);
if ( (LA118_0==K_AND) ) {
alt118=1;
}
switch (alt118) {
case 1 :
// Parser.g:884:39: K_AND viewProperty[stmt]
{
match(input,K_AND,FOLLOW_K_AND_in_createMaterializedViewStatement6103); if (state.failed) return stmt;
pushFollow(FOLLOW_viewProperty_in_createMaterializedViewStatement6105);
viewProperty(stmt);
state._fsp--;
if (state.failed) return stmt;
}
break;
default :
break loop118;
}
}
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createMaterializedViewStatement"
// $ANTLR start "viewPrimaryKey"
// Parser.g:887:1: viewPrimaryKey[CreateViewStatement.Raw stmt] : K_PRIMARY K_KEY '(' viewPartitionKey[stmt] ( ',' c= ident )* ')' ;
public final void viewPrimaryKey(CreateViewStatement.Raw stmt) throws RecognitionException {
ColumnIdentifier c =null;
try {
// Parser.g:888:5: ( K_PRIMARY K_KEY '(' viewPartitionKey[stmt] ( ',' c= ident )* ')' )
// Parser.g:888:7: K_PRIMARY K_KEY '(' viewPartitionKey[stmt] ( ',' c= ident )* ')'
{
match(input,K_PRIMARY,FOLLOW_K_PRIMARY_in_viewPrimaryKey6129); if (state.failed) return;
match(input,K_KEY,FOLLOW_K_KEY_in_viewPrimaryKey6131); if (state.failed) return;
match(input,208,FOLLOW_208_in_viewPrimaryKey6133); if (state.failed) return;
pushFollow(FOLLOW_viewPartitionKey_in_viewPrimaryKey6135);
viewPartitionKey(stmt);
state._fsp--;
if (state.failed) return;
// Parser.g:888:50: ( ',' c= ident )*
loop120:
while (true) {
int alt120=2;
int LA120_0 = input.LA(1);
if ( (LA120_0==212) ) {
alt120=1;
}
switch (alt120) {
case 1 :
// Parser.g:888:51: ',' c= ident
{
match(input,212,FOLLOW_212_in_viewPrimaryKey6139); if (state.failed) return;
pushFollow(FOLLOW_ident_in_viewPrimaryKey6143);
c=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { stmt.markClusteringColumn(c); }
}
break;
default :
break loop120;
}
}
match(input,209,FOLLOW_209_in_viewPrimaryKey6150); if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "viewPrimaryKey"
// $ANTLR start "viewPartitionKey"
// Parser.g:891:1: viewPartitionKey[CreateViewStatement.Raw stmt] : (k1= ident | '(' k1= ident ( ',' kn= ident )* ')' );
public final void viewPartitionKey(CreateViewStatement.Raw stmt) throws RecognitionException {
ColumnIdentifier k1 =null;
ColumnIdentifier kn =null;
List l = new ArrayList();
try {
// Parser.g:894:5: (k1= ident | '(' k1= ident ( ',' kn= ident )* ')' )
int alt122=2;
int LA122_0 = input.LA(1);
if ( (LA122_0==IDENT||LA122_0==K_ACCESS||(LA122_0 >= K_AGGREGATE && LA122_0 <= K_ALL)||LA122_0==K_AS||LA122_0==K_ASCII||(LA122_0 >= K_BIGINT && LA122_0 <= K_BOOLEAN)||(LA122_0 >= K_CALLED && LA122_0 <= K_CLUSTERING)||(LA122_0 >= K_COMPACT && LA122_0 <= K_COUNTER)||(LA122_0 >= K_CUSTOM && LA122_0 <= K_DEFAULT)||(LA122_0 >= K_DISTINCT && LA122_0 <= K_DOUBLE)||LA122_0==K_DURATION||(LA122_0 >= K_EXISTS && LA122_0 <= K_FLOAT)||LA122_0==K_FROZEN||(LA122_0 >= K_FUNCTION && LA122_0 <= K_FUNCTIONS)||(LA122_0 >= K_GROUP && LA122_0 <= K_IDENTITY)||(LA122_0 >= K_INET && LA122_0 <= K_INPUT)||(LA122_0 >= K_INT && LA122_0 <= K_INTERNALS)||(LA122_0 >= K_JSON && LA122_0 <= K_KEYS)||(LA122_0 >= K_KEYSPACES && LA122_0 <= K_LIKE)||(LA122_0 >= K_LIST && LA122_0 <= K_MASKED)||(LA122_0 >= K_MAXWRITETIME && LA122_0 <= K_MBEANS)||LA122_0==K_NOLOGIN||LA122_0==K_NOSUPERUSER||(LA122_0 >= K_ONLY && LA122_0 <= K_OPTIONS)||(LA122_0 >= K_PARTITION && LA122_0 <= K_PERMISSIONS)||(LA122_0 >= K_REPLACE && LA122_0 <= K_RETURNS)||(LA122_0 >= K_ROLE && LA122_0 <= K_ROLES)||LA122_0==K_SELECT_MASKED||(LA122_0 >= K_SFUNC && LA122_0 <= K_TINYINT)||LA122_0==K_TRIGGER||(LA122_0 >= K_TTL && LA122_0 <= K_TYPES)||(LA122_0 >= K_UNMASK && LA122_0 <= K_UNSET)||(LA122_0 >= K_USER && LA122_0 <= K_USERS)||(LA122_0 >= K_UUID && LA122_0 <= K_VECTOR)||LA122_0==K_WRITETIME||LA122_0==QUOTED_NAME) ) {
alt122=1;
}
else if ( (LA122_0==208) ) {
alt122=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 122, 0, input);
throw nvae;
}
switch (alt122) {
case 1 :
// Parser.g:894:7: k1= ident
{
pushFollow(FOLLOW_ident_in_viewPartitionKey6187);
k1=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { l.add(k1);}
}
break;
case 2 :
// Parser.g:895:7: '(' k1= ident ( ',' kn= ident )* ')'
{
match(input,208,FOLLOW_208_in_viewPartitionKey6197); if (state.failed) return;
pushFollow(FOLLOW_ident_in_viewPartitionKey6201);
k1=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { l.add(k1); }
// Parser.g:895:35: ( ',' kn= ident )*
loop121:
while (true) {
int alt121=2;
int LA121_0 = input.LA(1);
if ( (LA121_0==212) ) {
alt121=1;
}
switch (alt121) {
case 1 :
// Parser.g:895:37: ',' kn= ident
{
match(input,212,FOLLOW_212_in_viewPartitionKey6207); if (state.failed) return;
pushFollow(FOLLOW_ident_in_viewPartitionKey6211);
kn=ident();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { l.add(kn); }
}
break;
default :
break loop121;
}
}
match(input,209,FOLLOW_209_in_viewPartitionKey6218); if (state.failed) return;
}
break;
}
if ( state.backtracking==0 ) { stmt.setPartitionKeyColumns(l); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "viewPartitionKey"
// $ANTLR start "viewProperty"
// Parser.g:898:1: viewProperty[CreateViewStatement.Raw stmt] : ( property[stmt.attrs] | K_COMPACT K_STORAGE | K_CLUSTERING K_ORDER K_BY '(' viewClusteringOrder[stmt] ( ',' viewClusteringOrder[stmt] )* ')' );
public final void viewProperty(CreateViewStatement.Raw stmt) throws RecognitionException {
try {
// Parser.g:899:5: ( property[stmt.attrs] | K_COMPACT K_STORAGE | K_CLUSTERING K_ORDER K_BY '(' viewClusteringOrder[stmt] ( ',' viewClusteringOrder[stmt] )* ')' )
int alt124=3;
switch ( input.LA(1) ) {
case IDENT:
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
case QUOTED_NAME:
{
alt124=1;
}
break;
case K_COMPACT:
{
int LA124_2 = input.LA(2);
if ( (LA124_2==K_STORAGE) ) {
alt124=2;
}
else if ( (LA124_2==221) ) {
alt124=1;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 124, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case K_CLUSTERING:
{
int LA124_3 = input.LA(2);
if ( (LA124_3==K_ORDER) ) {
alt124=3;
}
else if ( (LA124_3==221) ) {
alt124=1;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 124, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 124, 0, input);
throw nvae;
}
switch (alt124) {
case 1 :
// Parser.g:899:7: property[stmt.attrs]
{
pushFollow(FOLLOW_property_in_viewProperty6236);
property(stmt.attrs);
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
// Parser.g:900:7: K_COMPACT K_STORAGE
{
match(input,K_COMPACT,FOLLOW_K_COMPACT_in_viewProperty6245); if (state.failed) return;
match(input,K_STORAGE,FOLLOW_K_STORAGE_in_viewProperty6247); if (state.failed) return;
if ( state.backtracking==0 ) { throw new SyntaxException("COMPACT STORAGE tables are not allowed starting with version 4.0"); }
}
break;
case 3 :
// Parser.g:901:7: K_CLUSTERING K_ORDER K_BY '(' viewClusteringOrder[stmt] ( ',' viewClusteringOrder[stmt] )* ')'
{
match(input,K_CLUSTERING,FOLLOW_K_CLUSTERING_in_viewProperty6257); if (state.failed) return;
match(input,K_ORDER,FOLLOW_K_ORDER_in_viewProperty6259); if (state.failed) return;
match(input,K_BY,FOLLOW_K_BY_in_viewProperty6261); if (state.failed) return;
match(input,208,FOLLOW_208_in_viewProperty6263); if (state.failed) return;
pushFollow(FOLLOW_viewClusteringOrder_in_viewProperty6265);
viewClusteringOrder(stmt);
state._fsp--;
if (state.failed) return;
// Parser.g:901:63: ( ',' viewClusteringOrder[stmt] )*
loop123:
while (true) {
int alt123=2;
int LA123_0 = input.LA(1);
if ( (LA123_0==212) ) {
alt123=1;
}
switch (alt123) {
case 1 :
// Parser.g:901:64: ',' viewClusteringOrder[stmt]
{
match(input,212,FOLLOW_212_in_viewProperty6269); if (state.failed) return;
pushFollow(FOLLOW_viewClusteringOrder_in_viewProperty6271);
viewClusteringOrder(stmt);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop123;
}
}
match(input,209,FOLLOW_209_in_viewProperty6276); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "viewProperty"
// $ANTLR start "viewClusteringOrder"
// Parser.g:904:1: viewClusteringOrder[CreateViewStatement.Raw stmt] : k= ident ( K_ASC | K_DESC ) ;
public final void viewClusteringOrder(CreateViewStatement.Raw stmt) throws RecognitionException {
ColumnIdentifier k =null;
boolean ascending = true;
try {
// Parser.g:906:5: (k= ident ( K_ASC | K_DESC ) )
// Parser.g:906:7: k= ident ( K_ASC | K_DESC )
{
pushFollow(FOLLOW_ident_in_viewClusteringOrder6304);
k=ident();
state._fsp--;
if (state.failed) return;
// Parser.g:906:15: ( K_ASC | K_DESC )
int alt125=2;
int LA125_0 = input.LA(1);
if ( (LA125_0==K_ASC) ) {
alt125=1;
}
else if ( (LA125_0==K_DESC) ) {
alt125=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 125, 0, input);
throw nvae;
}
switch (alt125) {
case 1 :
// Parser.g:906:16: K_ASC
{
match(input,K_ASC,FOLLOW_K_ASC_in_viewClusteringOrder6307); if (state.failed) return;
}
break;
case 2 :
// Parser.g:906:24: K_DESC
{
match(input,K_DESC,FOLLOW_K_DESC_in_viewClusteringOrder6311); if (state.failed) return;
if ( state.backtracking==0 ) { ascending = false; }
}
break;
}
if ( state.backtracking==0 ) { stmt.extendClusteringOrder(k, ascending); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "viewClusteringOrder"
// $ANTLR start "createTriggerStatement"
// Parser.g:912:1: createTriggerStatement returns [CreateTriggerStatement.Raw stmt] : K_CREATE K_TRIGGER ( K_IF K_NOT K_EXISTS )? (name= ident ) K_ON cf= columnFamilyName K_USING cls= STRING_LITERAL ;
public final CreateTriggerStatement.Raw createTriggerStatement() throws RecognitionException {
CreateTriggerStatement.Raw stmt = null;
Token cls=null;
ColumnIdentifier name =null;
QualifiedName cf =null;
boolean ifNotExists = false;
try {
// Parser.g:916:5: ( K_CREATE K_TRIGGER ( K_IF K_NOT K_EXISTS )? (name= ident ) K_ON cf= columnFamilyName K_USING cls= STRING_LITERAL )
// Parser.g:916:7: K_CREATE K_TRIGGER ( K_IF K_NOT K_EXISTS )? (name= ident ) K_ON cf= columnFamilyName K_USING cls= STRING_LITERAL
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createTriggerStatement6349); if (state.failed) return stmt;
match(input,K_TRIGGER,FOLLOW_K_TRIGGER_in_createTriggerStatement6351); if (state.failed) return stmt;
// Parser.g:916:26: ( K_IF K_NOT K_EXISTS )?
int alt126=2;
int LA126_0 = input.LA(1);
if ( (LA126_0==K_IF) ) {
alt126=1;
}
switch (alt126) {
case 1 :
// Parser.g:916:27: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createTriggerStatement6354); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createTriggerStatement6356); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createTriggerStatement6358); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
// Parser.g:916:74: (name= ident )
// Parser.g:916:75: name= ident
{
pushFollow(FOLLOW_ident_in_createTriggerStatement6368);
name=ident();
state._fsp--;
if (state.failed) return stmt;
}
match(input,K_ON,FOLLOW_K_ON_in_createTriggerStatement6379); if (state.failed) return stmt;
pushFollow(FOLLOW_columnFamilyName_in_createTriggerStatement6383);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_USING,FOLLOW_K_USING_in_createTriggerStatement6385); if (state.failed) return stmt;
cls=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_createTriggerStatement6389); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new CreateTriggerStatement.Raw(cf, name.toString(), (cls!=null?cls.getText():null), ifNotExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createTriggerStatement"
// $ANTLR start "dropTriggerStatement"
// Parser.g:924:1: dropTriggerStatement returns [DropTriggerStatement.Raw stmt] : K_DROP K_TRIGGER ( K_IF K_EXISTS )? (name= ident ) K_ON cf= columnFamilyName ;
public final DropTriggerStatement.Raw dropTriggerStatement() throws RecognitionException {
DropTriggerStatement.Raw stmt = null;
ColumnIdentifier name =null;
QualifiedName cf =null;
boolean ifExists = false;
try {
// Parser.g:926:5: ( K_DROP K_TRIGGER ( K_IF K_EXISTS )? (name= ident ) K_ON cf= columnFamilyName )
// Parser.g:926:7: K_DROP K_TRIGGER ( K_IF K_EXISTS )? (name= ident ) K_ON cf= columnFamilyName
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropTriggerStatement6430); if (state.failed) return stmt;
match(input,K_TRIGGER,FOLLOW_K_TRIGGER_in_dropTriggerStatement6432); if (state.failed) return stmt;
// Parser.g:926:24: ( K_IF K_EXISTS )?
int alt127=2;
int LA127_0 = input.LA(1);
if ( (LA127_0==K_IF) ) {
alt127=1;
}
switch (alt127) {
case 1 :
// Parser.g:926:25: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropTriggerStatement6435); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropTriggerStatement6437); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
// Parser.g:926:63: (name= ident )
// Parser.g:926:64: name= ident
{
pushFollow(FOLLOW_ident_in_dropTriggerStatement6447);
name=ident();
state._fsp--;
if (state.failed) return stmt;
}
match(input,K_ON,FOLLOW_K_ON_in_dropTriggerStatement6450); if (state.failed) return stmt;
pushFollow(FOLLOW_columnFamilyName_in_dropTriggerStatement6454);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new DropTriggerStatement.Raw(cf, name.toString(), ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropTriggerStatement"
// $ANTLR start "alterKeyspaceStatement"
// Parser.g:933:1: alterKeyspaceStatement returns [AlterKeyspaceStatement.Raw stmt] : K_ALTER K_KEYSPACE ( K_IF K_EXISTS )? ks= keyspaceName K_WITH properties[attrs] ;
public final AlterKeyspaceStatement.Raw alterKeyspaceStatement() throws RecognitionException {
AlterKeyspaceStatement.Raw stmt = null;
String ks =null;
KeyspaceAttributes attrs = new KeyspaceAttributes();
boolean ifExists = false;
try {
// Parser.g:938:5: ( K_ALTER K_KEYSPACE ( K_IF K_EXISTS )? ks= keyspaceName K_WITH properties[attrs] )
// Parser.g:938:7: K_ALTER K_KEYSPACE ( K_IF K_EXISTS )? ks= keyspaceName K_WITH properties[attrs]
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterKeyspaceStatement6494); if (state.failed) return stmt;
match(input,K_KEYSPACE,FOLLOW_K_KEYSPACE_in_alterKeyspaceStatement6496); if (state.failed) return stmt;
// Parser.g:938:26: ( K_IF K_EXISTS )?
int alt128=2;
int LA128_0 = input.LA(1);
if ( (LA128_0==K_IF) ) {
alt128=1;
}
switch (alt128) {
case 1 :
// Parser.g:938:27: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterKeyspaceStatement6499); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterKeyspaceStatement6501); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_keyspaceName_in_alterKeyspaceStatement6510);
ks=keyspaceName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_WITH,FOLLOW_K_WITH_in_alterKeyspaceStatement6520); if (state.failed) return stmt;
pushFollow(FOLLOW_properties_in_alterKeyspaceStatement6522);
properties(attrs);
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new AlterKeyspaceStatement.Raw(ks, attrs, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "alterKeyspaceStatement"
// $ANTLR start "alterTableStatement"
// Parser.g:951:1: alterTableStatement returns [AlterTableStatement.Raw stmt] : K_ALTER K_COLUMNFAMILY ( K_IF K_EXISTS )? cf= columnFamilyName ( K_ALTER id= cident K_TYPE v= comparatorType | K_ALTER ( K_IF K_EXISTS )? id= cident (mask= columnMask | K_DROP K_MASKED ) | K_ADD ( K_IF K_NOT K_EXISTS )? (id= ident v= comparatorType b= isStaticColumn (m= columnMask )? | ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' ) ) | K_DROP ( K_IF K_EXISTS )? (id= ident | ( '(' id1= ident ( ',' idn= ident )* ')' ) ) ( K_USING K_TIMESTAMP t= INTEGER )? | K_RENAME ( K_IF K_EXISTS )? (id1= ident K_TO toId1= ident ( K_AND idn= ident K_TO toIdn= ident )* ) | K_DROP K_COMPACT K_STORAGE | K_WITH properties[$stmt.attrs] ) ;
public final AlterTableStatement.Raw alterTableStatement() throws RecognitionException {
AlterTableStatement.Raw stmt = null;
Token t=null;
QualifiedName cf =null;
ColumnIdentifier id =null;
CQL3Type.Raw v =null;
ColumnMask.Raw mask =null;
boolean b =false;
ColumnMask.Raw m =null;
ColumnIdentifier id1 =null;
CQL3Type.Raw v1 =null;
boolean b1 =false;
ColumnMask.Raw m1 =null;
ColumnIdentifier idn =null;
CQL3Type.Raw vn =null;
boolean bn =false;
ColumnMask.Raw mn =null;
ColumnIdentifier toId1 =null;
ColumnIdentifier toIdn =null;
boolean ifExists = false;
try {
// Parser.g:953:5: ( K_ALTER K_COLUMNFAMILY ( K_IF K_EXISTS )? cf= columnFamilyName ( K_ALTER id= cident K_TYPE v= comparatorType | K_ALTER ( K_IF K_EXISTS )? id= cident (mask= columnMask | K_DROP K_MASKED ) | K_ADD ( K_IF K_NOT K_EXISTS )? (id= ident v= comparatorType b= isStaticColumn (m= columnMask )? | ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' ) ) | K_DROP ( K_IF K_EXISTS )? (id= ident | ( '(' id1= ident ( ',' idn= ident )* ')' ) ) ( K_USING K_TIMESTAMP t= INTEGER )? | K_RENAME ( K_IF K_EXISTS )? (id1= ident K_TO toId1= ident ( K_AND idn= ident K_TO toIdn= ident )* ) | K_DROP K_COMPACT K_STORAGE | K_WITH properties[$stmt.attrs] ) )
// Parser.g:953:7: K_ALTER K_COLUMNFAMILY ( K_IF K_EXISTS )? cf= columnFamilyName ( K_ALTER id= cident K_TYPE v= comparatorType | K_ALTER ( K_IF K_EXISTS )? id= cident (mask= columnMask | K_DROP K_MASKED ) | K_ADD ( K_IF K_NOT K_EXISTS )? (id= ident v= comparatorType b= isStaticColumn (m= columnMask )? | ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' ) ) | K_DROP ( K_IF K_EXISTS )? (id= ident | ( '(' id1= ident ( ',' idn= ident )* ')' ) ) ( K_USING K_TIMESTAMP t= INTEGER )? | K_RENAME ( K_IF K_EXISTS )? (id1= ident K_TO toId1= ident ( K_AND idn= ident K_TO toIdn= ident )* ) | K_DROP K_COMPACT K_STORAGE | K_WITH properties[$stmt.attrs] )
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterTableStatement6557); if (state.failed) return stmt;
match(input,K_COLUMNFAMILY,FOLLOW_K_COLUMNFAMILY_in_alterTableStatement6559); if (state.failed) return stmt;
// Parser.g:953:30: ( K_IF K_EXISTS )?
int alt129=2;
int LA129_0 = input.LA(1);
if ( (LA129_0==K_IF) ) {
alt129=1;
}
switch (alt129) {
case 1 :
// Parser.g:953:31: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTableStatement6562); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTableStatement6564); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_alterTableStatement6579);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new AlterTableStatement.Raw(cf, ifExists); }
// Parser.g:955:7: ( K_ALTER id= cident K_TYPE v= comparatorType | K_ALTER ( K_IF K_EXISTS )? id= cident (mask= columnMask | K_DROP K_MASKED ) | K_ADD ( K_IF K_NOT K_EXISTS )? (id= ident v= comparatorType b= isStaticColumn (m= columnMask )? | ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' ) ) | K_DROP ( K_IF K_EXISTS )? (id= ident | ( '(' id1= ident ( ',' idn= ident )* ')' ) ) ( K_USING K_TIMESTAMP t= INTEGER )? | K_RENAME ( K_IF K_EXISTS )? (id1= ident K_TO toId1= ident ( K_AND idn= ident K_TO toIdn= ident )* ) | K_DROP K_COMPACT K_STORAGE | K_WITH properties[$stmt.attrs] )
int alt144=7;
alt144 = dfa144.predict(input);
switch (alt144) {
case 1 :
// Parser.g:956:9: K_ALTER id= cident K_TYPE v= comparatorType
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterTableStatement6599); if (state.failed) return stmt;
pushFollow(FOLLOW_cident_in_alterTableStatement6603);
id=cident();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TYPE,FOLLOW_K_TYPE_in_alterTableStatement6605); if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_alterTableStatement6609);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.alter(id, v); }
}
break;
case 2 :
// Parser.g:958:9: K_ALTER ( K_IF K_EXISTS )? id= cident (mask= columnMask | K_DROP K_MASKED )
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterTableStatement6622); if (state.failed) return stmt;
// Parser.g:958:17: ( K_IF K_EXISTS )?
int alt130=2;
int LA130_0 = input.LA(1);
if ( (LA130_0==K_IF) ) {
alt130=1;
}
switch (alt130) {
case 1 :
// Parser.g:958:19: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTableStatement6626); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTableStatement6628); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.ifColumnExists(true); }
}
break;
}
pushFollow(FOLLOW_cident_in_alterTableStatement6637);
id=cident();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:959:15: (mask= columnMask | K_DROP K_MASKED )
int alt131=2;
int LA131_0 = input.LA(1);
if ( (LA131_0==K_MASKED) ) {
alt131=1;
}
else if ( (LA131_0==K_DROP) ) {
alt131=2;
}
else {
if (state.backtracking>0) {state.failed=true; return stmt;}
NoViableAltException nvae =
new NoViableAltException("", 131, 0, input);
throw nvae;
}
switch (alt131) {
case 1 :
// Parser.g:959:17: mask= columnMask
{
pushFollow(FOLLOW_columnMask_in_alterTableStatement6657);
mask=columnMask();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.mask(id, mask); }
}
break;
case 2 :
// Parser.g:960:17: K_DROP K_MASKED
{
match(input,K_DROP,FOLLOW_K_DROP_in_alterTableStatement6677); if (state.failed) return stmt;
match(input,K_MASKED,FOLLOW_K_MASKED_in_alterTableStatement6679); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.mask(id, null); }
}
break;
}
}
break;
case 3 :
// Parser.g:962:9: K_ADD ( K_IF K_NOT K_EXISTS )? (id= ident v= comparatorType b= isStaticColumn (m= columnMask )? | ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' ) )
{
match(input,K_ADD,FOLLOW_K_ADD_in_alterTableStatement6694); if (state.failed) return stmt;
// Parser.g:962:15: ( K_IF K_NOT K_EXISTS )?
int alt132=2;
int LA132_0 = input.LA(1);
if ( (LA132_0==K_IF) ) {
alt132=1;
}
switch (alt132) {
case 1 :
// Parser.g:962:17: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTableStatement6698); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_alterTableStatement6700); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTableStatement6702); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.ifColumnNotExists(true); }
}
break;
}
// Parser.g:963:15: (id= ident v= comparatorType b= isStaticColumn (m= columnMask )? | ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' ) )
int alt137=2;
int LA137_0 = input.LA(1);
if ( (LA137_0==IDENT||LA137_0==K_ACCESS||(LA137_0 >= K_AGGREGATE && LA137_0 <= K_ALL)||LA137_0==K_AS||LA137_0==K_ASCII||(LA137_0 >= K_BIGINT && LA137_0 <= K_BOOLEAN)||(LA137_0 >= K_CALLED && LA137_0 <= K_CLUSTERING)||(LA137_0 >= K_COMPACT && LA137_0 <= K_COUNTER)||(LA137_0 >= K_CUSTOM && LA137_0 <= K_DEFAULT)||(LA137_0 >= K_DISTINCT && LA137_0 <= K_DOUBLE)||LA137_0==K_DURATION||(LA137_0 >= K_EXISTS && LA137_0 <= K_FLOAT)||LA137_0==K_FROZEN||(LA137_0 >= K_FUNCTION && LA137_0 <= K_FUNCTIONS)||(LA137_0 >= K_GROUP && LA137_0 <= K_IDENTITY)||(LA137_0 >= K_INET && LA137_0 <= K_INPUT)||(LA137_0 >= K_INT && LA137_0 <= K_INTERNALS)||(LA137_0 >= K_JSON && LA137_0 <= K_KEYS)||(LA137_0 >= K_KEYSPACES && LA137_0 <= K_LIKE)||(LA137_0 >= K_LIST && LA137_0 <= K_MASKED)||(LA137_0 >= K_MAXWRITETIME && LA137_0 <= K_MBEANS)||LA137_0==K_NOLOGIN||LA137_0==K_NOSUPERUSER||(LA137_0 >= K_ONLY && LA137_0 <= K_OPTIONS)||(LA137_0 >= K_PARTITION && LA137_0 <= K_PERMISSIONS)||(LA137_0 >= K_REPLACE && LA137_0 <= K_RETURNS)||(LA137_0 >= K_ROLE && LA137_0 <= K_ROLES)||LA137_0==K_SELECT_MASKED||(LA137_0 >= K_SFUNC && LA137_0 <= K_TINYINT)||LA137_0==K_TRIGGER||(LA137_0 >= K_TTL && LA137_0 <= K_TYPES)||(LA137_0 >= K_UNMASK && LA137_0 <= K_UNSET)||(LA137_0 >= K_USER && LA137_0 <= K_USERS)||(LA137_0 >= K_UUID && LA137_0 <= K_VECTOR)||LA137_0==K_WRITETIME||LA137_0==QUOTED_NAME) ) {
alt137=1;
}
else if ( (LA137_0==208) ) {
alt137=2;
}
else {
if (state.backtracking>0) {state.failed=true; return stmt;}
NoViableAltException nvae =
new NoViableAltException("", 137, 0, input);
throw nvae;
}
switch (alt137) {
case 1 :
// Parser.g:963:24: id= ident v= comparatorType b= isStaticColumn (m= columnMask )?
{
pushFollow(FOLLOW_ident_in_alterTableStatement6734);
id=ident();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_alterTableStatement6739);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_isStaticColumn_in_alterTableStatement6744);
b=isStaticColumn();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:963:69: (m= columnMask )?
int alt133=2;
int LA133_0 = input.LA(1);
if ( (LA133_0==K_MASKED) ) {
alt133=1;
}
switch (alt133) {
case 1 :
// Parser.g:963:70: m= columnMask
{
pushFollow(FOLLOW_columnMask_in_alterTableStatement6749);
m=columnMask();
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) { stmt.add(id, v, b, m); }
}
break;
case 2 :
// Parser.g:964:18: ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' )
{
// Parser.g:964:18: ( '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')' )
// Parser.g:964:19: '(' id1= ident v1= comparatorType b1= isStaticColumn (m1= columnMask )? ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )* ')'
{
match(input,208,FOLLOW_208_in_alterTableStatement6773); if (state.failed) return stmt;
pushFollow(FOLLOW_ident_in_alterTableStatement6778);
id1=ident();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_alterTableStatement6782);
v1=comparatorType();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_isStaticColumn_in_alterTableStatement6786);
b1=isStaticColumn();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:964:70: (m1= columnMask )?
int alt134=2;
int LA134_0 = input.LA(1);
if ( (LA134_0==K_MASKED) ) {
alt134=1;
}
switch (alt134) {
case 1 :
// Parser.g:964:71: m1= columnMask
{
pushFollow(FOLLOW_columnMask_in_alterTableStatement6791);
m1=columnMask();
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) { stmt.add(id1, v1, b1, m1); }
// Parser.g:965:18: ( ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )? )*
loop136:
while (true) {
int alt136=2;
int LA136_0 = input.LA(1);
if ( (LA136_0==212) ) {
alt136=1;
}
switch (alt136) {
case 1 :
// Parser.g:965:20: ',' idn= ident vn= comparatorType bn= isStaticColumn (mn= columnMask )?
{
match(input,212,FOLLOW_212_in_alterTableStatement6816); if (state.failed) return stmt;
pushFollow(FOLLOW_ident_in_alterTableStatement6820);
idn=ident();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_alterTableStatement6824);
vn=comparatorType();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_isStaticColumn_in_alterTableStatement6828);
bn=isStaticColumn();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:965:70: (mn= columnMask )?
int alt135=2;
int LA135_0 = input.LA(1);
if ( (LA135_0==K_MASKED) ) {
alt135=1;
}
switch (alt135) {
case 1 :
// Parser.g:965:71: mn= columnMask
{
pushFollow(FOLLOW_columnMask_in_alterTableStatement6833);
mn=columnMask();
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) { stmt.add(idn, vn, bn, mn); mn=null; }
}
break;
default :
break loop136;
}
}
match(input,209,FOLLOW_209_in_alterTableStatement6842); if (state.failed) return stmt;
}
}
break;
}
}
break;
case 4 :
// Parser.g:967:9: K_DROP ( K_IF K_EXISTS )? (id= ident | ( '(' id1= ident ( ',' idn= ident )* ')' ) ) ( K_USING K_TIMESTAMP t= INTEGER )?
{
match(input,K_DROP,FOLLOW_K_DROP_in_alterTableStatement6856); if (state.failed) return stmt;
// Parser.g:967:16: ( K_IF K_EXISTS )?
int alt138=2;
int LA138_0 = input.LA(1);
if ( (LA138_0==K_IF) ) {
alt138=1;
}
switch (alt138) {
case 1 :
// Parser.g:967:18: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTableStatement6860); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTableStatement6862); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.ifColumnExists(true); }
}
break;
}
// Parser.g:968:16: (id= ident | ( '(' id1= ident ( ',' idn= ident )* ')' ) )
int alt140=2;
int LA140_0 = input.LA(1);
if ( (LA140_0==IDENT||LA140_0==K_ACCESS||(LA140_0 >= K_AGGREGATE && LA140_0 <= K_ALL)||LA140_0==K_AS||LA140_0==K_ASCII||(LA140_0 >= K_BIGINT && LA140_0 <= K_BOOLEAN)||(LA140_0 >= K_CALLED && LA140_0 <= K_CLUSTERING)||(LA140_0 >= K_COMPACT && LA140_0 <= K_COUNTER)||(LA140_0 >= K_CUSTOM && LA140_0 <= K_DEFAULT)||(LA140_0 >= K_DISTINCT && LA140_0 <= K_DOUBLE)||LA140_0==K_DURATION||(LA140_0 >= K_EXISTS && LA140_0 <= K_FLOAT)||LA140_0==K_FROZEN||(LA140_0 >= K_FUNCTION && LA140_0 <= K_FUNCTIONS)||(LA140_0 >= K_GROUP && LA140_0 <= K_IDENTITY)||(LA140_0 >= K_INET && LA140_0 <= K_INPUT)||(LA140_0 >= K_INT && LA140_0 <= K_INTERNALS)||(LA140_0 >= K_JSON && LA140_0 <= K_KEYS)||(LA140_0 >= K_KEYSPACES && LA140_0 <= K_LIKE)||(LA140_0 >= K_LIST && LA140_0 <= K_MASKED)||(LA140_0 >= K_MAXWRITETIME && LA140_0 <= K_MBEANS)||LA140_0==K_NOLOGIN||LA140_0==K_NOSUPERUSER||(LA140_0 >= K_ONLY && LA140_0 <= K_OPTIONS)||(LA140_0 >= K_PARTITION && LA140_0 <= K_PERMISSIONS)||(LA140_0 >= K_REPLACE && LA140_0 <= K_RETURNS)||(LA140_0 >= K_ROLE && LA140_0 <= K_ROLES)||LA140_0==K_SELECT_MASKED||(LA140_0 >= K_SFUNC && LA140_0 <= K_TINYINT)||LA140_0==K_TRIGGER||(LA140_0 >= K_TTL && LA140_0 <= K_TYPES)||(LA140_0 >= K_UNMASK && LA140_0 <= K_UNSET)||(LA140_0 >= K_USER && LA140_0 <= K_USERS)||(LA140_0 >= K_UUID && LA140_0 <= K_VECTOR)||LA140_0==K_WRITETIME||LA140_0==QUOTED_NAME) ) {
alt140=1;
}
else if ( (LA140_0==208) ) {
alt140=2;
}
else {
if (state.backtracking>0) {state.failed=true; return stmt;}
NoViableAltException nvae =
new NoViableAltException("", 140, 0, input);
throw nvae;
}
switch (alt140) {
case 1 :
// Parser.g:968:24: id= ident
{
pushFollow(FOLLOW_ident_in_alterTableStatement6894);
id=ident();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.drop(id); }
}
break;
case 2 :
// Parser.g:969:18: ( '(' id1= ident ( ',' idn= ident )* ')' )
{
// Parser.g:969:18: ( '(' id1= ident ( ',' idn= ident )* ')' )
// Parser.g:969:19: '(' id1= ident ( ',' idn= ident )* ')'
{
match(input,208,FOLLOW_208_in_alterTableStatement6916); if (state.failed) return stmt;
pushFollow(FOLLOW_ident_in_alterTableStatement6921);
id1=ident();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.drop(id1); }
// Parser.g:970:18: ( ',' idn= ident )*
loop139:
while (true) {
int alt139=2;
int LA139_0 = input.LA(1);
if ( (LA139_0==212) ) {
alt139=1;
}
switch (alt139) {
case 1 :
// Parser.g:970:20: ',' idn= ident
{
match(input,212,FOLLOW_212_in_alterTableStatement6944); if (state.failed) return stmt;
pushFollow(FOLLOW_ident_in_alterTableStatement6948);
idn=ident();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.drop(idn); }
}
break;
default :
break loop139;
}
}
match(input,209,FOLLOW_209_in_alterTableStatement6955); if (state.failed) return stmt;
}
}
break;
}
// Parser.g:971:16: ( K_USING K_TIMESTAMP t= INTEGER )?
int alt141=2;
int LA141_0 = input.LA(1);
if ( (LA141_0==K_USING) ) {
alt141=1;
}
switch (alt141) {
case 1 :
// Parser.g:971:18: K_USING K_TIMESTAMP t= INTEGER
{
match(input,K_USING,FOLLOW_K_USING_in_alterTableStatement6977); if (state.failed) return stmt;
match(input,K_TIMESTAMP,FOLLOW_K_TIMESTAMP_in_alterTableStatement6979); if (state.failed) return stmt;
t=(Token)match(input,INTEGER,FOLLOW_INTEGER_in_alterTableStatement6983); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.timestamp(Long.parseLong(Constants.Literal.integer((t!=null?t.getText():null)).getText())); }
}
break;
}
}
break;
case 5 :
// Parser.g:973:9: K_RENAME ( K_IF K_EXISTS )? (id1= ident K_TO toId1= ident ( K_AND idn= ident K_TO toIdn= ident )* )
{
match(input,K_RENAME,FOLLOW_K_RENAME_in_alterTableStatement6999); if (state.failed) return stmt;
// Parser.g:973:18: ( K_IF K_EXISTS )?
int alt142=2;
int LA142_0 = input.LA(1);
if ( (LA142_0==K_IF) ) {
alt142=1;
}
switch (alt142) {
case 1 :
// Parser.g:973:20: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTableStatement7003); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTableStatement7005); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.ifColumnExists(true); }
}
break;
}
// Parser.g:974:16: (id1= ident K_TO toId1= ident ( K_AND idn= ident K_TO toIdn= ident )* )
// Parser.g:974:25: id1= ident K_TO toId1= ident ( K_AND idn= ident K_TO toIdn= ident )*
{
pushFollow(FOLLOW_ident_in_alterTableStatement7038);
id1=ident();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TO,FOLLOW_K_TO_in_alterTableStatement7040); if (state.failed) return stmt;
pushFollow(FOLLOW_ident_in_alterTableStatement7044);
toId1=ident();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.rename(id1, toId1); }
// Parser.g:975:17: ( K_AND idn= ident K_TO toIdn= ident )*
loop143:
while (true) {
int alt143=2;
int LA143_0 = input.LA(1);
if ( (LA143_0==K_AND) ) {
alt143=1;
}
switch (alt143) {
case 1 :
// Parser.g:975:19: K_AND idn= ident K_TO toIdn= ident
{
match(input,K_AND,FOLLOW_K_AND_in_alterTableStatement7066); if (state.failed) return stmt;
pushFollow(FOLLOW_ident_in_alterTableStatement7070);
idn=ident();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TO,FOLLOW_K_TO_in_alterTableStatement7072); if (state.failed) return stmt;
pushFollow(FOLLOW_ident_in_alterTableStatement7076);
toIdn=ident();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.rename(idn, toIdn); }
}
break;
default :
break loop143;
}
}
}
}
break;
case 6 :
// Parser.g:977:9: K_DROP K_COMPACT K_STORAGE
{
match(input,K_DROP,FOLLOW_K_DROP_in_alterTableStatement7094); if (state.failed) return stmt;
match(input,K_COMPACT,FOLLOW_K_COMPACT_in_alterTableStatement7096); if (state.failed) return stmt;
match(input,K_STORAGE,FOLLOW_K_STORAGE_in_alterTableStatement7098); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.dropCompactStorage(); }
}
break;
case 7 :
// Parser.g:979:9: K_WITH properties[$stmt.attrs]
{
match(input,K_WITH,FOLLOW_K_WITH_in_alterTableStatement7111); if (state.failed) return stmt;
pushFollow(FOLLOW_properties_in_alterTableStatement7113);
properties(stmt.attrs);
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.attrs(); }
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "alterTableStatement"
// $ANTLR start "isStaticColumn"
// Parser.g:983:1: isStaticColumn returns [boolean isStaticColumn] : ( K_STATIC )? ;
public final boolean isStaticColumn() throws RecognitionException {
boolean isStaticColumn = false;
boolean isStatic = false;
try {
// Parser.g:985:5: ( ( K_STATIC )? )
// Parser.g:985:7: ( K_STATIC )?
{
// Parser.g:985:7: ( K_STATIC )?
int alt145=2;
int LA145_0 = input.LA(1);
if ( (LA145_0==K_STATIC) ) {
alt145=1;
}
switch (alt145) {
case 1 :
// Parser.g:985:8: K_STATIC
{
match(input,K_STATIC,FOLLOW_K_STATIC_in_isStaticColumn7155); if (state.failed) return isStaticColumn;
if ( state.backtracking==0 ) { isStatic=true; }
}
break;
}
if ( state.backtracking==0 ) { isStaticColumn = isStatic; }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return isStaticColumn;
}
// $ANTLR end "isStaticColumn"
// $ANTLR start "alterMaterializedViewStatement"
// Parser.g:988:1: alterMaterializedViewStatement returns [AlterViewStatement.Raw stmt] : K_ALTER K_MATERIALIZED K_VIEW ( K_IF K_EXISTS )? name= columnFamilyName K_WITH properties[attrs] ;
public final AlterViewStatement.Raw alterMaterializedViewStatement() throws RecognitionException {
AlterViewStatement.Raw stmt = null;
QualifiedName name =null;
TableAttributes attrs = new TableAttributes();
boolean ifExists = false;
try {
// Parser.g:993:5: ( K_ALTER K_MATERIALIZED K_VIEW ( K_IF K_EXISTS )? name= columnFamilyName K_WITH properties[attrs] )
// Parser.g:993:7: K_ALTER K_MATERIALIZED K_VIEW ( K_IF K_EXISTS )? name= columnFamilyName K_WITH properties[attrs]
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterMaterializedViewStatement7191); if (state.failed) return stmt;
match(input,K_MATERIALIZED,FOLLOW_K_MATERIALIZED_in_alterMaterializedViewStatement7193); if (state.failed) return stmt;
match(input,K_VIEW,FOLLOW_K_VIEW_in_alterMaterializedViewStatement7195); if (state.failed) return stmt;
// Parser.g:993:37: ( K_IF K_EXISTS )?
int alt146=2;
int LA146_0 = input.LA(1);
if ( (LA146_0==K_IF) ) {
alt146=1;
}
switch (alt146) {
case 1 :
// Parser.g:993:38: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterMaterializedViewStatement7198); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterMaterializedViewStatement7200); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_alterMaterializedViewStatement7209);
name=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_WITH,FOLLOW_K_WITH_in_alterMaterializedViewStatement7221); if (state.failed) return stmt;
pushFollow(FOLLOW_properties_in_alterMaterializedViewStatement7223);
properties(attrs);
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) {
stmt = new AlterViewStatement.Raw(name, attrs, ifExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "alterMaterializedViewStatement"
// $ANTLR start "alterTypeStatement"
// Parser.g:1006:1: alterTypeStatement returns [AlterTypeStatement.Raw stmt] : K_ALTER K_TYPE ( K_IF K_EXISTS )? name= userTypeName ( K_ALTER f= fident K_TYPE v= comparatorType | K_ADD ( K_IF K_NOT K_EXISTS )? f= fident v= comparatorType | K_RENAME ( K_IF K_EXISTS )? f1= fident K_TO toF1= fident ( K_AND fn= fident K_TO toFn= fident )* ) ;
public final AlterTypeStatement.Raw alterTypeStatement() throws RecognitionException {
AlterTypeStatement.Raw stmt = null;
UTName name =null;
FieldIdentifier f =null;
CQL3Type.Raw v =null;
FieldIdentifier f1 =null;
FieldIdentifier toF1 =null;
FieldIdentifier fn =null;
FieldIdentifier toFn =null;
boolean ifExists = false;
try {
// Parser.g:1010:5: ( K_ALTER K_TYPE ( K_IF K_EXISTS )? name= userTypeName ( K_ALTER f= fident K_TYPE v= comparatorType | K_ADD ( K_IF K_NOT K_EXISTS )? f= fident v= comparatorType | K_RENAME ( K_IF K_EXISTS )? f1= fident K_TO toF1= fident ( K_AND fn= fident K_TO toFn= fident )* ) )
// Parser.g:1010:7: K_ALTER K_TYPE ( K_IF K_EXISTS )? name= userTypeName ( K_ALTER f= fident K_TYPE v= comparatorType | K_ADD ( K_IF K_NOT K_EXISTS )? f= fident v= comparatorType | K_RENAME ( K_IF K_EXISTS )? f1= fident K_TO toF1= fident ( K_AND fn= fident K_TO toFn= fident )* )
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterTypeStatement7263); if (state.failed) return stmt;
match(input,K_TYPE,FOLLOW_K_TYPE_in_alterTypeStatement7265); if (state.failed) return stmt;
// Parser.g:1010:22: ( K_IF K_EXISTS )?
int alt147=2;
int LA147_0 = input.LA(1);
if ( (LA147_0==K_IF) ) {
alt147=1;
}
switch (alt147) {
case 1 :
// Parser.g:1010:23: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTypeStatement7268); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTypeStatement7270); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_userTypeName_in_alterTypeStatement7279);
name=userTypeName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new AlterTypeStatement.Raw(name, ifExists); }
// Parser.g:1011:7: ( K_ALTER f= fident K_TYPE v= comparatorType | K_ADD ( K_IF K_NOT K_EXISTS )? f= fident v= comparatorType | K_RENAME ( K_IF K_EXISTS )? f1= fident K_TO toF1= fident ( K_AND fn= fident K_TO toFn= fident )* )
int alt151=3;
switch ( input.LA(1) ) {
case K_ALTER:
{
alt151=1;
}
break;
case K_ADD:
{
alt151=2;
}
break;
case K_RENAME:
{
alt151=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return stmt;}
NoViableAltException nvae =
new NoViableAltException("", 151, 0, input);
throw nvae;
}
switch (alt151) {
case 1 :
// Parser.g:1012:9: K_ALTER f= fident K_TYPE v= comparatorType
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterTypeStatement7299); if (state.failed) return stmt;
pushFollow(FOLLOW_fident_in_alterTypeStatement7305);
f=fident();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TYPE,FOLLOW_K_TYPE_in_alterTypeStatement7307); if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_alterTypeStatement7311);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.alter(f, v); }
}
break;
case 2 :
// Parser.g:1014:9: K_ADD ( K_IF K_NOT K_EXISTS )? f= fident v= comparatorType
{
match(input,K_ADD,FOLLOW_K_ADD_in_alterTypeStatement7324); if (state.failed) return stmt;
// Parser.g:1014:15: ( K_IF K_NOT K_EXISTS )?
int alt148=2;
int LA148_0 = input.LA(1);
if ( (LA148_0==K_IF) ) {
alt148=1;
}
switch (alt148) {
case 1 :
// Parser.g:1014:16: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTypeStatement7327); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_alterTypeStatement7329); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTypeStatement7331); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.ifFieldNotExists(true); }
}
break;
}
pushFollow(FOLLOW_fident_in_alterTypeStatement7344);
f=fident();
state._fsp--;
if (state.failed) return stmt;
pushFollow(FOLLOW_comparatorType_in_alterTypeStatement7348);
v=comparatorType();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.add(f, v); }
}
break;
case 3 :
// Parser.g:1016:9: K_RENAME ( K_IF K_EXISTS )? f1= fident K_TO toF1= fident ( K_AND fn= fident K_TO toFn= fident )*
{
match(input,K_RENAME,FOLLOW_K_RENAME_in_alterTypeStatement7368); if (state.failed) return stmt;
// Parser.g:1016:18: ( K_IF K_EXISTS )?
int alt149=2;
int LA149_0 = input.LA(1);
if ( (LA149_0==K_IF) ) {
alt149=1;
}
switch (alt149) {
case 1 :
// Parser.g:1016:19: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterTypeStatement7371); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterTypeStatement7373); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.ifFieldExists(true); }
}
break;
}
pushFollow(FOLLOW_fident_in_alterTypeStatement7382);
f1=fident();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TO,FOLLOW_K_TO_in_alterTypeStatement7384); if (state.failed) return stmt;
pushFollow(FOLLOW_fident_in_alterTypeStatement7388);
toF1=fident();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.rename(f1, toF1); }
// Parser.g:1017:10: ( K_AND fn= fident K_TO toFn= fident )*
loop150:
while (true) {
int alt150=2;
int LA150_0 = input.LA(1);
if ( (LA150_0==K_AND) ) {
alt150=1;
}
switch (alt150) {
case 1 :
// Parser.g:1017:12: K_AND fn= fident K_TO toFn= fident
{
match(input,K_AND,FOLLOW_K_AND_in_alterTypeStatement7410); if (state.failed) return stmt;
pushFollow(FOLLOW_fident_in_alterTypeStatement7414);
fn=fident();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TO,FOLLOW_K_TO_in_alterTypeStatement7416); if (state.failed) return stmt;
pushFollow(FOLLOW_fident_in_alterTypeStatement7420);
toFn=fident();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.rename(fn, toFn); }
}
break;
default :
break loop150;
}
}
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "alterTypeStatement"
// $ANTLR start "dropKeyspaceStatement"
// Parser.g:1024:1: dropKeyspaceStatement returns [DropKeyspaceStatement.Raw stmt] : K_DROP K_KEYSPACE ( K_IF K_EXISTS )? ks= keyspaceName ;
public final DropKeyspaceStatement.Raw dropKeyspaceStatement() throws RecognitionException {
DropKeyspaceStatement.Raw stmt = null;
String ks =null;
boolean ifExists = false;
try {
// Parser.g:1026:5: ( K_DROP K_KEYSPACE ( K_IF K_EXISTS )? ks= keyspaceName )
// Parser.g:1026:7: K_DROP K_KEYSPACE ( K_IF K_EXISTS )? ks= keyspaceName
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropKeyspaceStatement7472); if (state.failed) return stmt;
match(input,K_KEYSPACE,FOLLOW_K_KEYSPACE_in_dropKeyspaceStatement7474); if (state.failed) return stmt;
// Parser.g:1026:25: ( K_IF K_EXISTS )?
int alt152=2;
int LA152_0 = input.LA(1);
if ( (LA152_0==K_IF) ) {
alt152=1;
}
switch (alt152) {
case 1 :
// Parser.g:1026:26: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropKeyspaceStatement7477); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropKeyspaceStatement7479); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_keyspaceName_in_dropKeyspaceStatement7488);
ks=keyspaceName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new DropKeyspaceStatement.Raw(ks, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropKeyspaceStatement"
// $ANTLR start "dropTableStatement"
// Parser.g:1032:1: dropTableStatement returns [DropTableStatement.Raw stmt] : K_DROP K_COLUMNFAMILY ( K_IF K_EXISTS )? name= columnFamilyName ;
public final DropTableStatement.Raw dropTableStatement() throws RecognitionException {
DropTableStatement.Raw stmt = null;
QualifiedName name =null;
boolean ifExists = false;
try {
// Parser.g:1034:5: ( K_DROP K_COLUMNFAMILY ( K_IF K_EXISTS )? name= columnFamilyName )
// Parser.g:1034:7: K_DROP K_COLUMNFAMILY ( K_IF K_EXISTS )? name= columnFamilyName
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropTableStatement7522); if (state.failed) return stmt;
match(input,K_COLUMNFAMILY,FOLLOW_K_COLUMNFAMILY_in_dropTableStatement7524); if (state.failed) return stmt;
// Parser.g:1034:29: ( K_IF K_EXISTS )?
int alt153=2;
int LA153_0 = input.LA(1);
if ( (LA153_0==K_IF) ) {
alt153=1;
}
switch (alt153) {
case 1 :
// Parser.g:1034:30: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropTableStatement7527); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropTableStatement7529); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_dropTableStatement7538);
name=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new DropTableStatement.Raw(name, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropTableStatement"
// $ANTLR start "dropTypeStatement"
// Parser.g:1040:1: dropTypeStatement returns [DropTypeStatement.Raw stmt] : K_DROP K_TYPE ( K_IF K_EXISTS )? name= userTypeName ;
public final DropTypeStatement.Raw dropTypeStatement() throws RecognitionException {
DropTypeStatement.Raw stmt = null;
UTName name =null;
boolean ifExists = false;
try {
// Parser.g:1042:5: ( K_DROP K_TYPE ( K_IF K_EXISTS )? name= userTypeName )
// Parser.g:1042:7: K_DROP K_TYPE ( K_IF K_EXISTS )? name= userTypeName
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropTypeStatement7572); if (state.failed) return stmt;
match(input,K_TYPE,FOLLOW_K_TYPE_in_dropTypeStatement7574); if (state.failed) return stmt;
// Parser.g:1042:21: ( K_IF K_EXISTS )?
int alt154=2;
int LA154_0 = input.LA(1);
if ( (LA154_0==K_IF) ) {
alt154=1;
}
switch (alt154) {
case 1 :
// Parser.g:1042:22: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropTypeStatement7577); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropTypeStatement7579); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_userTypeName_in_dropTypeStatement7588);
name=userTypeName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new DropTypeStatement.Raw(name, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropTypeStatement"
// $ANTLR start "dropIndexStatement"
// Parser.g:1048:1: dropIndexStatement returns [DropIndexStatement.Raw stmt] : K_DROP K_INDEX ( K_IF K_EXISTS )? index= indexName ;
public final DropIndexStatement.Raw dropIndexStatement() throws RecognitionException {
DropIndexStatement.Raw stmt = null;
QualifiedName index =null;
boolean ifExists = false;
try {
// Parser.g:1050:5: ( K_DROP K_INDEX ( K_IF K_EXISTS )? index= indexName )
// Parser.g:1050:7: K_DROP K_INDEX ( K_IF K_EXISTS )? index= indexName
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropIndexStatement7622); if (state.failed) return stmt;
match(input,K_INDEX,FOLLOW_K_INDEX_in_dropIndexStatement7624); if (state.failed) return stmt;
// Parser.g:1050:22: ( K_IF K_EXISTS )?
int alt155=2;
int LA155_0 = input.LA(1);
if ( (LA155_0==K_IF) ) {
alt155=1;
}
switch (alt155) {
case 1 :
// Parser.g:1050:23: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropIndexStatement7627); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropIndexStatement7629); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_indexName_in_dropIndexStatement7638);
index=indexName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new DropIndexStatement.Raw(index, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropIndexStatement"
// $ANTLR start "dropMaterializedViewStatement"
// Parser.g:1057:1: dropMaterializedViewStatement returns [DropViewStatement.Raw stmt] : K_DROP K_MATERIALIZED K_VIEW ( K_IF K_EXISTS )? cf= columnFamilyName ;
public final DropViewStatement.Raw dropMaterializedViewStatement() throws RecognitionException {
DropViewStatement.Raw stmt = null;
QualifiedName cf =null;
boolean ifExists = false;
try {
// Parser.g:1059:5: ( K_DROP K_MATERIALIZED K_VIEW ( K_IF K_EXISTS )? cf= columnFamilyName )
// Parser.g:1059:7: K_DROP K_MATERIALIZED K_VIEW ( K_IF K_EXISTS )? cf= columnFamilyName
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropMaterializedViewStatement7678); if (state.failed) return stmt;
match(input,K_MATERIALIZED,FOLLOW_K_MATERIALIZED_in_dropMaterializedViewStatement7680); if (state.failed) return stmt;
match(input,K_VIEW,FOLLOW_K_VIEW_in_dropMaterializedViewStatement7682); if (state.failed) return stmt;
// Parser.g:1059:36: ( K_IF K_EXISTS )?
int alt156=2;
int LA156_0 = input.LA(1);
if ( (LA156_0==K_IF) ) {
alt156=1;
}
switch (alt156) {
case 1 :
// Parser.g:1059:37: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropMaterializedViewStatement7685); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropMaterializedViewStatement7687); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_dropMaterializedViewStatement7696);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new DropViewStatement.Raw(cf, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropMaterializedViewStatement"
// $ANTLR start "truncateStatement"
// Parser.g:1066:1: truncateStatement returns [TruncateStatement stmt] : K_TRUNCATE ( K_COLUMNFAMILY )? cf= columnFamilyName ;
public final TruncateStatement truncateStatement() throws RecognitionException {
TruncateStatement stmt = null;
QualifiedName cf =null;
try {
// Parser.g:1067:5: ( K_TRUNCATE ( K_COLUMNFAMILY )? cf= columnFamilyName )
// Parser.g:1067:7: K_TRUNCATE ( K_COLUMNFAMILY )? cf= columnFamilyName
{
match(input,K_TRUNCATE,FOLLOW_K_TRUNCATE_in_truncateStatement7727); if (state.failed) return stmt;
// Parser.g:1067:18: ( K_COLUMNFAMILY )?
int alt157=2;
int LA157_0 = input.LA(1);
if ( (LA157_0==K_COLUMNFAMILY) ) {
alt157=1;
}
switch (alt157) {
case 1 :
// Parser.g:1067:19: K_COLUMNFAMILY
{
match(input,K_COLUMNFAMILY,FOLLOW_K_COLUMNFAMILY_in_truncateStatement7730); if (state.failed) return stmt;
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_truncateStatement7736);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new TruncateStatement(cf); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "truncateStatement"
// $ANTLR start "grantPermissionsStatement"
// Parser.g:1073:1: grantPermissionsStatement returns [GrantPermissionsStatement stmt] : K_GRANT permissionOrAll K_ON resource K_TO grantee= userOrRoleName ;
public final GrantPermissionsStatement grantPermissionsStatement() throws RecognitionException {
GrantPermissionsStatement stmt = null;
RoleName grantee =null;
Set permissionOrAll1 =null;
IResource resource2 =null;
try {
// Parser.g:1074:5: ( K_GRANT permissionOrAll K_ON resource K_TO grantee= userOrRoleName )
// Parser.g:1074:7: K_GRANT permissionOrAll K_ON resource K_TO grantee= userOrRoleName
{
match(input,K_GRANT,FOLLOW_K_GRANT_in_grantPermissionsStatement7761); if (state.failed) return stmt;
pushFollow(FOLLOW_permissionOrAll_in_grantPermissionsStatement7773);
permissionOrAll1=permissionOrAll();
state._fsp--;
if (state.failed) return stmt;
match(input,K_ON,FOLLOW_K_ON_in_grantPermissionsStatement7781); if (state.failed) return stmt;
pushFollow(FOLLOW_resource_in_grantPermissionsStatement7793);
resource2=resource();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TO,FOLLOW_K_TO_in_grantPermissionsStatement7801); if (state.failed) return stmt;
pushFollow(FOLLOW_userOrRoleName_in_grantPermissionsStatement7815);
grantee=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new GrantPermissionsStatement(filterPermissions(permissionOrAll1, resource2), resource2, grantee); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "grantPermissionsStatement"
// $ANTLR start "revokePermissionsStatement"
// Parser.g:1086:1: revokePermissionsStatement returns [RevokePermissionsStatement stmt] : K_REVOKE permissionOrAll K_ON resource K_FROM revokee= userOrRoleName ;
public final RevokePermissionsStatement revokePermissionsStatement() throws RecognitionException {
RevokePermissionsStatement stmt = null;
RoleName revokee =null;
Set permissionOrAll3 =null;
IResource resource4 =null;
try {
// Parser.g:1087:5: ( K_REVOKE permissionOrAll K_ON resource K_FROM revokee= userOrRoleName )
// Parser.g:1087:7: K_REVOKE permissionOrAll K_ON resource K_FROM revokee= userOrRoleName
{
match(input,K_REVOKE,FOLLOW_K_REVOKE_in_revokePermissionsStatement7846); if (state.failed) return stmt;
pushFollow(FOLLOW_permissionOrAll_in_revokePermissionsStatement7858);
permissionOrAll3=permissionOrAll();
state._fsp--;
if (state.failed) return stmt;
match(input,K_ON,FOLLOW_K_ON_in_revokePermissionsStatement7866); if (state.failed) return stmt;
pushFollow(FOLLOW_resource_in_revokePermissionsStatement7878);
resource4=resource();
state._fsp--;
if (state.failed) return stmt;
match(input,K_FROM,FOLLOW_K_FROM_in_revokePermissionsStatement7886); if (state.failed) return stmt;
pushFollow(FOLLOW_userOrRoleName_in_revokePermissionsStatement7900);
revokee=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new RevokePermissionsStatement(filterPermissions(permissionOrAll3, resource4), resource4, revokee); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "revokePermissionsStatement"
// $ANTLR start "grantRoleStatement"
// Parser.g:1099:1: grantRoleStatement returns [GrantRoleStatement stmt] : K_GRANT role= userOrRoleName K_TO grantee= userOrRoleName ;
public final GrantRoleStatement grantRoleStatement() throws RecognitionException {
GrantRoleStatement stmt = null;
RoleName role =null;
RoleName grantee =null;
try {
// Parser.g:1100:5: ( K_GRANT role= userOrRoleName K_TO grantee= userOrRoleName )
// Parser.g:1100:7: K_GRANT role= userOrRoleName K_TO grantee= userOrRoleName
{
match(input,K_GRANT,FOLLOW_K_GRANT_in_grantRoleStatement7931); if (state.failed) return stmt;
pushFollow(FOLLOW_userOrRoleName_in_grantRoleStatement7945);
role=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_TO,FOLLOW_K_TO_in_grantRoleStatement7953); if (state.failed) return stmt;
pushFollow(FOLLOW_userOrRoleName_in_grantRoleStatement7967);
grantee=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new GrantRoleStatement(role, grantee); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "grantRoleStatement"
// $ANTLR start "revokeRoleStatement"
// Parser.g:1110:1: revokeRoleStatement returns [RevokeRoleStatement stmt] : K_REVOKE role= userOrRoleName K_FROM revokee= userOrRoleName ;
public final RevokeRoleStatement revokeRoleStatement() throws RecognitionException {
RevokeRoleStatement stmt = null;
RoleName role =null;
RoleName revokee =null;
try {
// Parser.g:1111:5: ( K_REVOKE role= userOrRoleName K_FROM revokee= userOrRoleName )
// Parser.g:1111:7: K_REVOKE role= userOrRoleName K_FROM revokee= userOrRoleName
{
match(input,K_REVOKE,FOLLOW_K_REVOKE_in_revokeRoleStatement7998); if (state.failed) return stmt;
pushFollow(FOLLOW_userOrRoleName_in_revokeRoleStatement8012);
role=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
match(input,K_FROM,FOLLOW_K_FROM_in_revokeRoleStatement8020); if (state.failed) return stmt;
pushFollow(FOLLOW_userOrRoleName_in_revokeRoleStatement8034);
revokee=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new RevokeRoleStatement(role, revokee); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "revokeRoleStatement"
// $ANTLR start "listPermissionsStatement"
// Parser.g:1118:1: listPermissionsStatement returns [ListPermissionsStatement stmt] : K_LIST permissionOrAll ( K_ON resource )? ( K_OF roleName[grantee] )? ( K_NORECURSIVE )? ;
public final ListPermissionsStatement listPermissionsStatement() throws RecognitionException {
ListPermissionsStatement stmt = null;
IResource resource5 =null;
Set permissionOrAll6 =null;
IResource resource = null;
boolean recursive = true;
RoleName grantee = new RoleName();
try {
// Parser.g:1124:5: ( K_LIST permissionOrAll ( K_ON resource )? ( K_OF roleName[grantee] )? ( K_NORECURSIVE )? )
// Parser.g:1124:7: K_LIST permissionOrAll ( K_ON resource )? ( K_OF roleName[grantee] )? ( K_NORECURSIVE )?
{
match(input,K_LIST,FOLLOW_K_LIST_in_listPermissionsStatement8072); if (state.failed) return stmt;
pushFollow(FOLLOW_permissionOrAll_in_listPermissionsStatement8084);
permissionOrAll6=permissionOrAll();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:1126:7: ( K_ON resource )?
int alt158=2;
int LA158_0 = input.LA(1);
if ( (LA158_0==K_ON) ) {
alt158=1;
}
switch (alt158) {
case 1 :
// Parser.g:1126:9: K_ON resource
{
match(input,K_ON,FOLLOW_K_ON_in_listPermissionsStatement8094); if (state.failed) return stmt;
pushFollow(FOLLOW_resource_in_listPermissionsStatement8096);
resource5=resource();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { resource = resource5; }
}
break;
}
// Parser.g:1127:7: ( K_OF roleName[grantee] )?
int alt159=2;
int LA159_0 = input.LA(1);
if ( (LA159_0==K_OF) ) {
alt159=1;
}
switch (alt159) {
case 1 :
// Parser.g:1127:9: K_OF roleName[grantee]
{
match(input,K_OF,FOLLOW_K_OF_in_listPermissionsStatement8111); if (state.failed) return stmt;
pushFollow(FOLLOW_roleName_in_listPermissionsStatement8113);
roleName(grantee);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
// Parser.g:1128:7: ( K_NORECURSIVE )?
int alt160=2;
int LA160_0 = input.LA(1);
if ( (LA160_0==K_NORECURSIVE) ) {
alt160=1;
}
switch (alt160) {
case 1 :
// Parser.g:1128:9: K_NORECURSIVE
{
match(input,K_NORECURSIVE,FOLLOW_K_NORECURSIVE_in_listPermissionsStatement8127); if (state.failed) return stmt;
if ( state.backtracking==0 ) { recursive = false; }
}
break;
}
if ( state.backtracking==0 ) { stmt = new ListPermissionsStatement(permissionOrAll6, resource, grantee, recursive); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "listPermissionsStatement"
// $ANTLR start "permission"
// Parser.g:1132:1: permission returns [Permission perm] : p= ( K_CREATE | K_ALTER | K_DROP | K_SELECT | K_MODIFY | K_AUTHORIZE | K_DESCRIBE | K_EXECUTE | K_UNMASK | K_SELECT_MASKED ) ;
public final Permission permission() throws RecognitionException {
Permission perm = null;
Token p=null;
try {
// Parser.g:1133:5: (p= ( K_CREATE | K_ALTER | K_DROP | K_SELECT | K_MODIFY | K_AUTHORIZE | K_DESCRIBE | K_EXECUTE | K_UNMASK | K_SELECT_MASKED ) )
// Parser.g:1133:7: p= ( K_CREATE | K_ALTER | K_DROP | K_SELECT | K_MODIFY | K_AUTHORIZE | K_DESCRIBE | K_EXECUTE | K_UNMASK | K_SELECT_MASKED )
{
p=input.LT(1);
if ( input.LA(1)==K_ALTER||input.LA(1)==K_AUTHORIZE||input.LA(1)==K_CREATE||input.LA(1)==K_DESCRIBE||input.LA(1)==K_DROP||input.LA(1)==K_EXECUTE||input.LA(1)==K_MODIFY||(input.LA(1) >= K_SELECT && input.LA(1) <= K_SELECT_MASKED)||input.LA(1)==K_UNMASK ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return perm;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
if ( state.backtracking==0 ) { perm = Permission.valueOf((p!=null?p.getText():null).toUpperCase()); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return perm;
}
// $ANTLR end "permission"
// $ANTLR start "permissionOrAll"
// Parser.g:1137:1: permissionOrAll returns [Set perms] : ( K_ALL ( K_PERMISSIONS )? |p= permission ( K_PERMISSION )? ( ',' p= permission ( K_PERMISSION )? )* );
public final Set permissionOrAll() throws RecognitionException {
Set perms = null;
Permission p =null;
try {
// Parser.g:1138:5: ( K_ALL ( K_PERMISSIONS )? |p= permission ( K_PERMISSION )? ( ',' p= permission ( K_PERMISSION )? )* )
int alt165=2;
int LA165_0 = input.LA(1);
if ( (LA165_0==K_ALL) ) {
alt165=1;
}
else if ( (LA165_0==K_ALTER||LA165_0==K_AUTHORIZE||LA165_0==K_CREATE||LA165_0==K_DESCRIBE||LA165_0==K_DROP||LA165_0==K_EXECUTE||LA165_0==K_MODIFY||(LA165_0 >= K_SELECT && LA165_0 <= K_SELECT_MASKED)||LA165_0==K_UNMASK) ) {
alt165=2;
}
else {
if (state.backtracking>0) {state.failed=true; return perms;}
NoViableAltException nvae =
new NoViableAltException("", 165, 0, input);
throw nvae;
}
switch (alt165) {
case 1 :
// Parser.g:1138:7: K_ALL ( K_PERMISSIONS )?
{
match(input,K_ALL,FOLLOW_K_ALL_in_permissionOrAll8228); if (state.failed) return perms;
// Parser.g:1138:13: ( K_PERMISSIONS )?
int alt161=2;
int LA161_0 = input.LA(1);
if ( (LA161_0==K_PERMISSIONS) ) {
alt161=1;
}
switch (alt161) {
case 1 :
// Parser.g:1138:15: K_PERMISSIONS
{
match(input,K_PERMISSIONS,FOLLOW_K_PERMISSIONS_in_permissionOrAll8232); if (state.failed) return perms;
}
break;
}
if ( state.backtracking==0 ) { perms = Permission.ALL; }
}
break;
case 2 :
// Parser.g:1139:7: p= permission ( K_PERMISSION )? ( ',' p= permission ( K_PERMISSION )? )*
{
pushFollow(FOLLOW_permission_in_permissionOrAll8253);
p=permission();
state._fsp--;
if (state.failed) return perms;
// Parser.g:1139:20: ( K_PERMISSION )?
int alt162=2;
int LA162_0 = input.LA(1);
if ( (LA162_0==K_PERMISSION) ) {
alt162=1;
}
switch (alt162) {
case 1 :
// Parser.g:1139:22: K_PERMISSION
{
match(input,K_PERMISSION,FOLLOW_K_PERMISSION_in_permissionOrAll8257); if (state.failed) return perms;
}
break;
}
if ( state.backtracking==0 ) { perms = EnumSet.of(p); }
// Parser.g:1139:72: ( ',' p= permission ( K_PERMISSION )? )*
loop164:
while (true) {
int alt164=2;
int LA164_0 = input.LA(1);
if ( (LA164_0==212) ) {
alt164=1;
}
switch (alt164) {
case 1 :
// Parser.g:1139:74: ',' p= permission ( K_PERMISSION )?
{
match(input,212,FOLLOW_212_in_permissionOrAll8266); if (state.failed) return perms;
pushFollow(FOLLOW_permission_in_permissionOrAll8270);
p=permission();
state._fsp--;
if (state.failed) return perms;
// Parser.g:1139:91: ( K_PERMISSION )?
int alt163=2;
int LA163_0 = input.LA(1);
if ( (LA163_0==K_PERMISSION) ) {
alt163=1;
}
switch (alt163) {
case 1 :
// Parser.g:1139:93: K_PERMISSION
{
match(input,K_PERMISSION,FOLLOW_K_PERMISSION_in_permissionOrAll8274); if (state.failed) return perms;
}
break;
}
if ( state.backtracking==0 ) { perms.add(p); }
}
break;
default :
break loop164;
}
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return perms;
}
// $ANTLR end "permissionOrAll"
// $ANTLR start "resource"
// Parser.g:1142:1: resource returns [IResource res] : (d= dataResource |r= roleResource |f= functionResource |j= jmxResource );
public final IResource resource() throws RecognitionException {
IResource res = null;
DataResource d =null;
RoleResource r =null;
FunctionResource f =null;
JMXResource j =null;
try {
// Parser.g:1143:5: (d= dataResource |r= roleResource |f= functionResource |j= jmxResource )
int alt166=4;
alt166 = dfa166.predict(input);
switch (alt166) {
case 1 :
// Parser.g:1143:7: d= dataResource
{
pushFollow(FOLLOW_dataResource_in_resource8305);
d=dataResource();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = d; }
}
break;
case 2 :
// Parser.g:1144:7: r= roleResource
{
pushFollow(FOLLOW_roleResource_in_resource8317);
r=roleResource();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = r; }
}
break;
case 3 :
// Parser.g:1145:7: f= functionResource
{
pushFollow(FOLLOW_functionResource_in_resource8329);
f=functionResource();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = f; }
}
break;
case 4 :
// Parser.g:1146:7: j= jmxResource
{
pushFollow(FOLLOW_jmxResource_in_resource8341);
j=jmxResource();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = j; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return res;
}
// $ANTLR end "resource"
// $ANTLR start "dataResource"
// Parser.g:1149:1: dataResource returns [DataResource res] : ( K_ALL K_KEYSPACES | K_KEYSPACE ks= keyspaceName | ( K_COLUMNFAMILY )? cf= columnFamilyName | K_ALL K_TABLES K_IN K_KEYSPACE ks= keyspaceName );
public final DataResource dataResource() throws RecognitionException {
DataResource res = null;
String ks =null;
QualifiedName cf =null;
try {
// Parser.g:1150:5: ( K_ALL K_KEYSPACES | K_KEYSPACE ks= keyspaceName | ( K_COLUMNFAMILY )? cf= columnFamilyName | K_ALL K_TABLES K_IN K_KEYSPACE ks= keyspaceName )
int alt168=4;
switch ( input.LA(1) ) {
case K_ALL:
{
switch ( input.LA(2) ) {
case K_KEYSPACES:
{
alt168=1;
}
break;
case K_TABLES:
{
alt168=4;
}
break;
case EOF:
case K_FROM:
case K_NORECURSIVE:
case K_OF:
case K_TO:
case 215:
case 218:
{
alt168=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return res;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 168, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case K_KEYSPACE:
{
alt168=2;
}
break;
case IDENT:
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COLUMNFAMILY:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
case QMARK:
case QUOTED_NAME:
{
alt168=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return res;}
NoViableAltException nvae =
new NoViableAltException("", 168, 0, input);
throw nvae;
}
switch (alt168) {
case 1 :
// Parser.g:1150:7: K_ALL K_KEYSPACES
{
match(input,K_ALL,FOLLOW_K_ALL_in_dataResource8364); if (state.failed) return res;
match(input,K_KEYSPACES,FOLLOW_K_KEYSPACES_in_dataResource8366); if (state.failed) return res;
if ( state.backtracking==0 ) { res = DataResource.root(); }
}
break;
case 2 :
// Parser.g:1151:7: K_KEYSPACE ks= keyspaceName
{
match(input,K_KEYSPACE,FOLLOW_K_KEYSPACE_in_dataResource8376); if (state.failed) return res;
pushFollow(FOLLOW_keyspaceName_in_dataResource8382);
ks=keyspaceName();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = DataResource.keyspace(ks); }
}
break;
case 3 :
// Parser.g:1152:7: ( K_COLUMNFAMILY )? cf= columnFamilyName
{
// Parser.g:1152:7: ( K_COLUMNFAMILY )?
int alt167=2;
int LA167_0 = input.LA(1);
if ( (LA167_0==K_COLUMNFAMILY) ) {
alt167=1;
}
switch (alt167) {
case 1 :
// Parser.g:1152:9: K_COLUMNFAMILY
{
match(input,K_COLUMNFAMILY,FOLLOW_K_COLUMNFAMILY_in_dataResource8394); if (state.failed) return res;
}
break;
}
pushFollow(FOLLOW_columnFamilyName_in_dataResource8403);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = DataResource.table(cf.getKeyspace(), cf.getName()); }
}
break;
case 4 :
// Parser.g:1153:7: K_ALL K_TABLES K_IN K_KEYSPACE ks= keyspaceName
{
match(input,K_ALL,FOLLOW_K_ALL_in_dataResource8413); if (state.failed) return res;
match(input,K_TABLES,FOLLOW_K_TABLES_in_dataResource8415); if (state.failed) return res;
match(input,K_IN,FOLLOW_K_IN_in_dataResource8417); if (state.failed) return res;
match(input,K_KEYSPACE,FOLLOW_K_KEYSPACE_in_dataResource8419); if (state.failed) return res;
pushFollow(FOLLOW_keyspaceName_in_dataResource8425);
ks=keyspaceName();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = DataResource.allTables(ks); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return res;
}
// $ANTLR end "dataResource"
// $ANTLR start "jmxResource"
// Parser.g:1156:1: jmxResource returns [JMXResource res] : ( K_ALL K_MBEANS | K_MBEAN mbean | K_MBEANS mbean );
public final JMXResource jmxResource() throws RecognitionException {
JMXResource res = null;
ParserRuleReturnScope mbean7 =null;
ParserRuleReturnScope mbean8 =null;
try {
// Parser.g:1157:5: ( K_ALL K_MBEANS | K_MBEAN mbean | K_MBEANS mbean )
int alt169=3;
switch ( input.LA(1) ) {
case K_ALL:
{
alt169=1;
}
break;
case K_MBEAN:
{
alt169=2;
}
break;
case K_MBEANS:
{
alt169=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return res;}
NoViableAltException nvae =
new NoViableAltException("", 169, 0, input);
throw nvae;
}
switch (alt169) {
case 1 :
// Parser.g:1157:7: K_ALL K_MBEANS
{
match(input,K_ALL,FOLLOW_K_ALL_in_jmxResource8448); if (state.failed) return res;
match(input,K_MBEANS,FOLLOW_K_MBEANS_in_jmxResource8450); if (state.failed) return res;
if ( state.backtracking==0 ) { res = JMXResource.root(); }
}
break;
case 2 :
// Parser.g:1160:7: K_MBEAN mbean
{
match(input,K_MBEAN,FOLLOW_K_MBEAN_in_jmxResource8470); if (state.failed) return res;
pushFollow(FOLLOW_mbean_in_jmxResource8472);
mbean7=mbean();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = JMXResource.mbean(canonicalizeObjectName((mbean7!=null?input.toString(mbean7.start,mbean7.stop):null), false)); }
}
break;
case 3 :
// Parser.g:1161:7: K_MBEANS mbean
{
match(input,K_MBEANS,FOLLOW_K_MBEANS_in_jmxResource8482); if (state.failed) return res;
pushFollow(FOLLOW_mbean_in_jmxResource8484);
mbean8=mbean();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = JMXResource.mbean(canonicalizeObjectName((mbean8!=null?input.toString(mbean8.start,mbean8.stop):null), true)); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return res;
}
// $ANTLR end "jmxResource"
// $ANTLR start "roleResource"
// Parser.g:1164:1: roleResource returns [RoleResource res] : ( K_ALL K_ROLES | K_ROLE role= userOrRoleName );
public final RoleResource roleResource() throws RecognitionException {
RoleResource res = null;
RoleName role =null;
try {
// Parser.g:1165:5: ( K_ALL K_ROLES | K_ROLE role= userOrRoleName )
int alt170=2;
int LA170_0 = input.LA(1);
if ( (LA170_0==K_ALL) ) {
alt170=1;
}
else if ( (LA170_0==K_ROLE) ) {
alt170=2;
}
else {
if (state.backtracking>0) {state.failed=true; return res;}
NoViableAltException nvae =
new NoViableAltException("", 170, 0, input);
throw nvae;
}
switch (alt170) {
case 1 :
// Parser.g:1165:7: K_ALL K_ROLES
{
match(input,K_ALL,FOLLOW_K_ALL_in_roleResource8507); if (state.failed) return res;
match(input,K_ROLES,FOLLOW_K_ROLES_in_roleResource8509); if (state.failed) return res;
if ( state.backtracking==0 ) { res = RoleResource.root(); }
}
break;
case 2 :
// Parser.g:1166:7: K_ROLE role= userOrRoleName
{
match(input,K_ROLE,FOLLOW_K_ROLE_in_roleResource8519); if (state.failed) return res;
pushFollow(FOLLOW_userOrRoleName_in_roleResource8525);
role=userOrRoleName();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = RoleResource.role(role.getName()); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return res;
}
// $ANTLR end "roleResource"
// $ANTLR start "functionResource"
// Parser.g:1169:1: functionResource returns [FunctionResource res] : ( K_ALL K_FUNCTIONS | K_ALL K_FUNCTIONS K_IN K_KEYSPACE ks= keyspaceName | K_FUNCTION fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' ) );
public final FunctionResource functionResource() throws RecognitionException {
FunctionResource res = null;
String ks =null;
FunctionName fn =null;
CQL3Type.Raw v =null;
List argsTypes = new ArrayList<>();
try {
// Parser.g:1173:5: ( K_ALL K_FUNCTIONS | K_ALL K_FUNCTIONS K_IN K_KEYSPACE ks= keyspaceName | K_FUNCTION fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' ) )
int alt173=3;
int LA173_0 = input.LA(1);
if ( (LA173_0==K_ALL) ) {
int LA173_1 = input.LA(2);
if ( (LA173_1==K_FUNCTIONS) ) {
int LA173_3 = input.LA(3);
if ( (LA173_3==K_IN) ) {
alt173=2;
}
else if ( (LA173_3==EOF||LA173_3==K_FROM||LA173_3==K_NORECURSIVE||LA173_3==K_OF||LA173_3==K_TO||LA173_3==218) ) {
alt173=1;
}
else {
if (state.backtracking>0) {state.failed=true; return res;}
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 173, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return res;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 173, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA173_0==K_FUNCTION) ) {
alt173=3;
}
else {
if (state.backtracking>0) {state.failed=true; return res;}
NoViableAltException nvae =
new NoViableAltException("", 173, 0, input);
throw nvae;
}
switch (alt173) {
case 1 :
// Parser.g:1173:7: K_ALL K_FUNCTIONS
{
match(input,K_ALL,FOLLOW_K_ALL_in_functionResource8557); if (state.failed) return res;
match(input,K_FUNCTIONS,FOLLOW_K_FUNCTIONS_in_functionResource8559); if (state.failed) return res;
if ( state.backtracking==0 ) { res = FunctionResource.root(); }
}
break;
case 2 :
// Parser.g:1174:7: K_ALL K_FUNCTIONS K_IN K_KEYSPACE ks= keyspaceName
{
match(input,K_ALL,FOLLOW_K_ALL_in_functionResource8569); if (state.failed) return res;
match(input,K_FUNCTIONS,FOLLOW_K_FUNCTIONS_in_functionResource8571); if (state.failed) return res;
match(input,K_IN,FOLLOW_K_IN_in_functionResource8573); if (state.failed) return res;
match(input,K_KEYSPACE,FOLLOW_K_KEYSPACE_in_functionResource8575); if (state.failed) return res;
pushFollow(FOLLOW_keyspaceName_in_functionResource8581);
ks=keyspaceName();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { res = FunctionResource.keyspace(ks); }
}
break;
case 3 :
// Parser.g:1176:7: K_FUNCTION fn= functionName ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )
{
match(input,K_FUNCTION,FOLLOW_K_FUNCTION_in_functionResource8596); if (state.failed) return res;
pushFollow(FOLLOW_functionName_in_functionResource8600);
fn=functionName();
state._fsp--;
if (state.failed) return res;
// Parser.g:1177:7: ( '(' (v= comparatorType ( ',' v= comparatorType )* )? ')' )
// Parser.g:1178:9: '(' (v= comparatorType ( ',' v= comparatorType )* )? ')'
{
match(input,208,FOLLOW_208_in_functionResource8618); if (state.failed) return res;
// Parser.g:1179:11: (v= comparatorType ( ',' v= comparatorType )* )?
int alt172=2;
int LA172_0 = input.LA(1);
if ( (LA172_0==IDENT||LA172_0==K_ACCESS||(LA172_0 >= K_AGGREGATE && LA172_0 <= K_ALL)||LA172_0==K_AS||LA172_0==K_ASCII||(LA172_0 >= K_BIGINT && LA172_0 <= K_BOOLEAN)||(LA172_0 >= K_CALLED && LA172_0 <= K_CLUSTERING)||(LA172_0 >= K_COMPACT && LA172_0 <= K_COUNTER)||(LA172_0 >= K_CUSTOM && LA172_0 <= K_DEFAULT)||(LA172_0 >= K_DISTINCT && LA172_0 <= K_DOUBLE)||LA172_0==K_DURATION||(LA172_0 >= K_EXISTS && LA172_0 <= K_FLOAT)||LA172_0==K_FROZEN||(LA172_0 >= K_FUNCTION && LA172_0 <= K_FUNCTIONS)||(LA172_0 >= K_GROUP && LA172_0 <= K_IDENTITY)||(LA172_0 >= K_INET && LA172_0 <= K_INPUT)||(LA172_0 >= K_INT && LA172_0 <= K_INTERNALS)||(LA172_0 >= K_JSON && LA172_0 <= K_KEYS)||(LA172_0 >= K_KEYSPACES && LA172_0 <= K_LIKE)||(LA172_0 >= K_LIST && LA172_0 <= K_MASKED)||(LA172_0 >= K_MAXWRITETIME && LA172_0 <= K_MBEANS)||LA172_0==K_NOLOGIN||LA172_0==K_NOSUPERUSER||(LA172_0 >= K_ONLY && LA172_0 <= K_OPTIONS)||(LA172_0 >= K_PARTITION && LA172_0 <= K_PERMISSIONS)||(LA172_0 >= K_REPLACE && LA172_0 <= K_RETURNS)||(LA172_0 >= K_ROLE && LA172_0 <= K_ROLES)||(LA172_0 >= K_SELECT_MASKED && LA172_0 <= K_TINYINT)||LA172_0==K_TRIGGER||(LA172_0 >= K_TTL && LA172_0 <= K_TYPES)||(LA172_0 >= K_UNMASK && LA172_0 <= K_UNSET)||(LA172_0 >= K_USER && LA172_0 <= K_USERS)||(LA172_0 >= K_UUID && LA172_0 <= K_VECTOR)||LA172_0==K_WRITETIME||LA172_0==QUOTED_NAME||LA172_0==STRING_LITERAL) ) {
alt172=1;
}
switch (alt172) {
case 1 :
// Parser.g:1180:13: v= comparatorType ( ',' v= comparatorType )*
{
pushFollow(FOLLOW_comparatorType_in_functionResource8646);
v=comparatorType();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { argsTypes.add(v); }
// Parser.g:1181:13: ( ',' v= comparatorType )*
loop171:
while (true) {
int alt171=2;
int LA171_0 = input.LA(1);
if ( (LA171_0==212) ) {
alt171=1;
}
switch (alt171) {
case 1 :
// Parser.g:1181:15: ',' v= comparatorType
{
match(input,212,FOLLOW_212_in_functionResource8664); if (state.failed) return res;
pushFollow(FOLLOW_comparatorType_in_functionResource8668);
v=comparatorType();
state._fsp--;
if (state.failed) return res;
if ( state.backtracking==0 ) { argsTypes.add(v); }
}
break;
default :
break loop171;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_functionResource8696); if (state.failed) return res;
}
if ( state.backtracking==0 ) { res = FunctionResource.functionFromCql(fn.keyspace, fn.name, argsTypes); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return res;
}
// $ANTLR end "functionResource"
// $ANTLR start "createUserStatement"
// Parser.g:1191:1: createUserStatement returns [CreateRoleStatement stmt] : K_CREATE K_USER ( K_IF K_NOT K_EXISTS )? u= username ( K_WITH userPassword[opts] )? ( K_SUPERUSER | K_NOSUPERUSER )? ;
public final CreateRoleStatement createUserStatement() throws RecognitionException {
CreateRoleStatement stmt = null;
ParserRuleReturnScope u =null;
RoleOptions opts = new RoleOptions();
opts.setOption(IRoleManager.Option.LOGIN, true);
boolean superuser = false;
boolean ifNotExists = false;
RoleName name = new RoleName();
try {
// Parser.g:1199:5: ( K_CREATE K_USER ( K_IF K_NOT K_EXISTS )? u= username ( K_WITH userPassword[opts] )? ( K_SUPERUSER | K_NOSUPERUSER )? )
// Parser.g:1199:7: K_CREATE K_USER ( K_IF K_NOT K_EXISTS )? u= username ( K_WITH userPassword[opts] )? ( K_SUPERUSER | K_NOSUPERUSER )?
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createUserStatement8744); if (state.failed) return stmt;
match(input,K_USER,FOLLOW_K_USER_in_createUserStatement8746); if (state.failed) return stmt;
// Parser.g:1199:23: ( K_IF K_NOT K_EXISTS )?
int alt174=2;
int LA174_0 = input.LA(1);
if ( (LA174_0==K_IF) ) {
alt174=1;
}
switch (alt174) {
case 1 :
// Parser.g:1199:24: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createUserStatement8749); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createUserStatement8751); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createUserStatement8753); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_username_in_createUserStatement8761);
u=username();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { name.setName((u!=null?input.toString(u.start,u.stop):null), true); }
// Parser.g:1200:7: ( K_WITH userPassword[opts] )?
int alt175=2;
int LA175_0 = input.LA(1);
if ( (LA175_0==K_WITH) ) {
alt175=1;
}
switch (alt175) {
case 1 :
// Parser.g:1200:9: K_WITH userPassword[opts]
{
match(input,K_WITH,FOLLOW_K_WITH_in_createUserStatement8773); if (state.failed) return stmt;
pushFollow(FOLLOW_userPassword_in_createUserStatement8775);
userPassword(opts);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
// Parser.g:1201:7: ( K_SUPERUSER | K_NOSUPERUSER )?
int alt176=3;
int LA176_0 = input.LA(1);
if ( (LA176_0==K_SUPERUSER) ) {
alt176=1;
}
else if ( (LA176_0==K_NOSUPERUSER) ) {
alt176=2;
}
switch (alt176) {
case 1 :
// Parser.g:1201:9: K_SUPERUSER
{
match(input,K_SUPERUSER,FOLLOW_K_SUPERUSER_in_createUserStatement8789); if (state.failed) return stmt;
if ( state.backtracking==0 ) { superuser = true; }
}
break;
case 2 :
// Parser.g:1201:45: K_NOSUPERUSER
{
match(input,K_NOSUPERUSER,FOLLOW_K_NOSUPERUSER_in_createUserStatement8795); if (state.failed) return stmt;
if ( state.backtracking==0 ) { superuser = false; }
}
break;
}
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.SUPERUSER, superuser);
if (opts.getPassword().isPresent() && opts.getHashedPassword().isPresent())
{
throw new SyntaxException("Options 'password' and 'hashed password' are mutually exclusive");
}
stmt = new CreateRoleStatement(name, opts, DCPermissions.all(), CIDRPermissions.all(), ifNotExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createUserStatement"
// $ANTLR start "alterUserStatement"
// Parser.g:1213:1: alterUserStatement returns [AlterRoleStatement stmt] : K_ALTER K_USER ( K_IF K_EXISTS )? u= username ( K_WITH userPassword[opts] )? ( K_SUPERUSER | K_NOSUPERUSER )? ;
public final AlterRoleStatement alterUserStatement() throws RecognitionException {
AlterRoleStatement stmt = null;
ParserRuleReturnScope u =null;
RoleOptions opts = new RoleOptions();
RoleName name = new RoleName();
boolean ifExists = false;
try {
// Parser.g:1219:5: ( K_ALTER K_USER ( K_IF K_EXISTS )? u= username ( K_WITH userPassword[opts] )? ( K_SUPERUSER | K_NOSUPERUSER )? )
// Parser.g:1219:7: K_ALTER K_USER ( K_IF K_EXISTS )? u= username ( K_WITH userPassword[opts] )? ( K_SUPERUSER | K_NOSUPERUSER )?
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterUserStatement8840); if (state.failed) return stmt;
match(input,K_USER,FOLLOW_K_USER_in_alterUserStatement8842); if (state.failed) return stmt;
// Parser.g:1219:22: ( K_IF K_EXISTS )?
int alt177=2;
int LA177_0 = input.LA(1);
if ( (LA177_0==K_IF) ) {
alt177=1;
}
switch (alt177) {
case 1 :
// Parser.g:1219:23: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterUserStatement8845); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterUserStatement8847); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_username_in_alterUserStatement8855);
u=username();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { name.setName((u!=null?input.toString(u.start,u.stop):null), true); }
// Parser.g:1220:7: ( K_WITH userPassword[opts] )?
int alt178=2;
int LA178_0 = input.LA(1);
if ( (LA178_0==K_WITH) ) {
alt178=1;
}
switch (alt178) {
case 1 :
// Parser.g:1220:9: K_WITH userPassword[opts]
{
match(input,K_WITH,FOLLOW_K_WITH_in_alterUserStatement8867); if (state.failed) return stmt;
pushFollow(FOLLOW_userPassword_in_alterUserStatement8869);
userPassword(opts);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
// Parser.g:1221:7: ( K_SUPERUSER | K_NOSUPERUSER )?
int alt179=3;
int LA179_0 = input.LA(1);
if ( (LA179_0==K_SUPERUSER) ) {
alt179=1;
}
else if ( (LA179_0==K_NOSUPERUSER) ) {
alt179=2;
}
switch (alt179) {
case 1 :
// Parser.g:1221:9: K_SUPERUSER
{
match(input,K_SUPERUSER,FOLLOW_K_SUPERUSER_in_alterUserStatement8883); if (state.failed) return stmt;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.SUPERUSER, true); }
}
break;
case 2 :
// Parser.g:1222:11: K_NOSUPERUSER
{
match(input,K_NOSUPERUSER,FOLLOW_K_NOSUPERUSER_in_alterUserStatement8897); if (state.failed) return stmt;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.SUPERUSER, false); }
}
break;
}
if ( state.backtracking==0 ) {
if (opts.getPassword().isPresent() && opts.getHashedPassword().isPresent())
{
throw new SyntaxException("Options 'password' and 'hashed password' are mutually exclusive");
}
stmt = new AlterRoleStatement(name, opts, null, null, ifExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "alterUserStatement"
// $ANTLR start "dropUserStatement"
// Parser.g:1235:1: dropUserStatement returns [DropRoleStatement stmt] : K_DROP K_USER ( K_IF K_EXISTS )? u= username ;
public final DropRoleStatement dropUserStatement() throws RecognitionException {
DropRoleStatement stmt = null;
ParserRuleReturnScope u =null;
boolean ifExists = false;
RoleName name = new RoleName();
try {
// Parser.g:1240:5: ( K_DROP K_USER ( K_IF K_EXISTS )? u= username )
// Parser.g:1240:7: K_DROP K_USER ( K_IF K_EXISTS )? u= username
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropUserStatement8943); if (state.failed) return stmt;
match(input,K_USER,FOLLOW_K_USER_in_dropUserStatement8945); if (state.failed) return stmt;
// Parser.g:1240:21: ( K_IF K_EXISTS )?
int alt180=2;
int LA180_0 = input.LA(1);
if ( (LA180_0==K_IF) ) {
alt180=1;
}
switch (alt180) {
case 1 :
// Parser.g:1240:22: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropUserStatement8948); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropUserStatement8950); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_username_in_dropUserStatement8958);
u=username();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { name.setName((u!=null?input.toString(u.start,u.stop):null), true); stmt = new DropRoleStatement(name, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropUserStatement"
// $ANTLR start "addIdentityStatement"
// Parser.g:1245:1: addIdentityStatement returns [AddIdentityStatement stmt] : K_ADD K_IDENTITY ( K_IF K_NOT K_EXISTS )? u= identity K_TO K_ROLE r= identity ;
public final AddIdentityStatement addIdentityStatement() throws RecognitionException {
AddIdentityStatement stmt = null;
ParserRuleReturnScope u =null;
ParserRuleReturnScope r =null;
String identity = null;
String role = null;
boolean ifNotExists = false;
try {
// Parser.g:1251:5: ( K_ADD K_IDENTITY ( K_IF K_NOT K_EXISTS )? u= identity K_TO K_ROLE r= identity )
// Parser.g:1251:7: K_ADD K_IDENTITY ( K_IF K_NOT K_EXISTS )? u= identity K_TO K_ROLE r= identity
{
match(input,K_ADD,FOLLOW_K_ADD_in_addIdentityStatement8991); if (state.failed) return stmt;
match(input,K_IDENTITY,FOLLOW_K_IDENTITY_in_addIdentityStatement8993); if (state.failed) return stmt;
// Parser.g:1251:24: ( K_IF K_NOT K_EXISTS )?
int alt181=2;
int LA181_0 = input.LA(1);
if ( (LA181_0==K_IF) ) {
alt181=1;
}
switch (alt181) {
case 1 :
// Parser.g:1251:25: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_addIdentityStatement8996); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_addIdentityStatement8998); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_addIdentityStatement9000); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_identity_in_addIdentityStatement9008);
u=identity();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { identity= (u!=null?input.toString(u.start,u.stop):null); }
match(input,K_TO,FOLLOW_K_TO_in_addIdentityStatement9012); if (state.failed) return stmt;
match(input,K_ROLE,FOLLOW_K_ROLE_in_addIdentityStatement9014); if (state.failed) return stmt;
pushFollow(FOLLOW_identity_in_addIdentityStatement9018);
r=identity();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { role=(r!=null?input.toString(r.start,r.stop):null); stmt = new AddIdentityStatement(identity, role, ifNotExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "addIdentityStatement"
// $ANTLR start "dropIdentityStatement"
// Parser.g:1257:2: dropIdentityStatement returns [DropIdentityStatement stmt] : K_DROP K_IDENTITY ( K_IF K_EXISTS )? u= identity ;
public final DropIdentityStatement dropIdentityStatement() throws RecognitionException {
DropIdentityStatement stmt = null;
ParserRuleReturnScope u =null;
boolean ifExists = false;
String identity = null;
try {
// Parser.g:1262:7: ( K_DROP K_IDENTITY ( K_IF K_EXISTS )? u= identity )
// Parser.g:1262:9: K_DROP K_IDENTITY ( K_IF K_EXISTS )? u= identity
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropIdentityStatement9057); if (state.failed) return stmt;
match(input,K_IDENTITY,FOLLOW_K_IDENTITY_in_dropIdentityStatement9059); if (state.failed) return stmt;
// Parser.g:1262:27: ( K_IF K_EXISTS )?
int alt182=2;
int LA182_0 = input.LA(1);
if ( (LA182_0==K_IF) ) {
alt182=1;
}
switch (alt182) {
case 1 :
// Parser.g:1262:28: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropIdentityStatement9062); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropIdentityStatement9064); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_identity_in_dropIdentityStatement9072);
u=identity();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { identity= (u!=null?input.toString(u.start,u.stop):null); stmt = new DropIdentityStatement(identity, ifExists);}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropIdentityStatement"
// $ANTLR start "listUsersStatement"
// Parser.g:1268:1: listUsersStatement returns [ListRolesStatement stmt] : K_LIST K_USERS ;
public final ListRolesStatement listUsersStatement() throws RecognitionException {
ListRolesStatement stmt = null;
try {
// Parser.g:1269:5: ( K_LIST K_USERS )
// Parser.g:1269:7: K_LIST K_USERS
{
match(input,K_LIST,FOLLOW_K_LIST_in_listUsersStatement9099); if (state.failed) return stmt;
match(input,K_USERS,FOLLOW_K_USERS_in_listUsersStatement9101); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new ListUsersStatement(); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "listUsersStatement"
// $ANTLR start "createRoleStatement"
// Parser.g:1285:1: createRoleStatement returns [CreateRoleStatement stmt] : K_CREATE K_ROLE ( K_IF K_NOT K_EXISTS )? name= userOrRoleName ( K_WITH roleOptions[opts, dcperms, cidrperms] )? ;
public final CreateRoleStatement createRoleStatement() throws RecognitionException {
CreateRoleStatement stmt = null;
RoleName name =null;
RoleOptions opts = new RoleOptions();
DCPermissions.Builder dcperms = DCPermissions.builder();
CIDRPermissions.Builder cidrperms = CIDRPermissions.builder();
boolean ifNotExists = false;
try {
// Parser.g:1292:5: ( K_CREATE K_ROLE ( K_IF K_NOT K_EXISTS )? name= userOrRoleName ( K_WITH roleOptions[opts, dcperms, cidrperms] )? )
// Parser.g:1292:7: K_CREATE K_ROLE ( K_IF K_NOT K_EXISTS )? name= userOrRoleName ( K_WITH roleOptions[opts, dcperms, cidrperms] )?
{
match(input,K_CREATE,FOLLOW_K_CREATE_in_createRoleStatement9135); if (state.failed) return stmt;
match(input,K_ROLE,FOLLOW_K_ROLE_in_createRoleStatement9137); if (state.failed) return stmt;
// Parser.g:1292:23: ( K_IF K_NOT K_EXISTS )?
int alt183=2;
int LA183_0 = input.LA(1);
if ( (LA183_0==K_IF) ) {
alt183=1;
}
switch (alt183) {
case 1 :
// Parser.g:1292:24: K_IF K_NOT K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_createRoleStatement9140); if (state.failed) return stmt;
match(input,K_NOT,FOLLOW_K_NOT_in_createRoleStatement9142); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_createRoleStatement9144); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifNotExists = true; }
}
break;
}
pushFollow(FOLLOW_userOrRoleName_in_createRoleStatement9152);
name=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:1293:7: ( K_WITH roleOptions[opts, dcperms, cidrperms] )?
int alt184=2;
int LA184_0 = input.LA(1);
if ( (LA184_0==K_WITH) ) {
alt184=1;
}
switch (alt184) {
case 1 :
// Parser.g:1293:9: K_WITH roleOptions[opts, dcperms, cidrperms]
{
match(input,K_WITH,FOLLOW_K_WITH_in_createRoleStatement9162); if (state.failed) return stmt;
pushFollow(FOLLOW_roleOptions_in_createRoleStatement9164);
roleOptions(opts, dcperms, cidrperms);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) {
// set defaults if they weren't explictly supplied
if (!opts.getLogin().isPresent())
{
opts.setOption(IRoleManager.Option.LOGIN, false);
}
if (!opts.getSuperuser().isPresent())
{
opts.setOption(IRoleManager.Option.SUPERUSER, false);
}
if (opts.getPassword().isPresent() && opts.getHashedPassword().isPresent())
{
throw new SyntaxException("Options 'password' and 'hashed password' are mutually exclusive");
}
stmt = new CreateRoleStatement(name, opts, dcperms.build(), cidrperms.build(), ifNotExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "createRoleStatement"
// $ANTLR start "alterRoleStatement"
// Parser.g:1325:1: alterRoleStatement returns [AlterRoleStatement stmt] : K_ALTER K_ROLE ( K_IF K_EXISTS )? name= userOrRoleName ( K_WITH roleOptions[opts, dcperms, cidrperms] )? ;
public final AlterRoleStatement alterRoleStatement() throws RecognitionException {
AlterRoleStatement stmt = null;
RoleName name =null;
RoleOptions opts = new RoleOptions();
DCPermissions.Builder dcperms = DCPermissions.builder();
CIDRPermissions.Builder cidrperms = CIDRPermissions.builder();
boolean ifExists = false;
try {
// Parser.g:1332:5: ( K_ALTER K_ROLE ( K_IF K_EXISTS )? name= userOrRoleName ( K_WITH roleOptions[opts, dcperms, cidrperms] )? )
// Parser.g:1332:7: K_ALTER K_ROLE ( K_IF K_EXISTS )? name= userOrRoleName ( K_WITH roleOptions[opts, dcperms, cidrperms] )?
{
match(input,K_ALTER,FOLLOW_K_ALTER_in_alterRoleStatement9208); if (state.failed) return stmt;
match(input,K_ROLE,FOLLOW_K_ROLE_in_alterRoleStatement9210); if (state.failed) return stmt;
// Parser.g:1332:22: ( K_IF K_EXISTS )?
int alt185=2;
int LA185_0 = input.LA(1);
if ( (LA185_0==K_IF) ) {
alt185=1;
}
switch (alt185) {
case 1 :
// Parser.g:1332:23: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_alterRoleStatement9213); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_alterRoleStatement9215); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_userOrRoleName_in_alterRoleStatement9223);
name=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
// Parser.g:1333:7: ( K_WITH roleOptions[opts, dcperms, cidrperms] )?
int alt186=2;
int LA186_0 = input.LA(1);
if ( (LA186_0==K_WITH) ) {
alt186=1;
}
switch (alt186) {
case 1 :
// Parser.g:1333:9: K_WITH roleOptions[opts, dcperms, cidrperms]
{
match(input,K_WITH,FOLLOW_K_WITH_in_alterRoleStatement9233); if (state.failed) return stmt;
pushFollow(FOLLOW_roleOptions_in_alterRoleStatement9235);
roleOptions(opts, dcperms, cidrperms);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) {
if (opts.getPassword().isPresent() && opts.getHashedPassword().isPresent())
{
throw new SyntaxException("Options 'password' and 'hashed password' are mutually exclusive");
}
stmt = new AlterRoleStatement(name, opts, dcperms.isModified() ? dcperms.build() : null, cidrperms.isModified() ? cidrperms.build() : null, ifExists);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "alterRoleStatement"
// $ANTLR start "dropRoleStatement"
// Parser.g:1346:1: dropRoleStatement returns [DropRoleStatement stmt] : K_DROP K_ROLE ( K_IF K_EXISTS )? name= userOrRoleName ;
public final DropRoleStatement dropRoleStatement() throws RecognitionException {
DropRoleStatement stmt = null;
RoleName name =null;
boolean ifExists = false;
try {
// Parser.g:1350:5: ( K_DROP K_ROLE ( K_IF K_EXISTS )? name= userOrRoleName )
// Parser.g:1350:7: K_DROP K_ROLE ( K_IF K_EXISTS )? name= userOrRoleName
{
match(input,K_DROP,FOLLOW_K_DROP_in_dropRoleStatement9279); if (state.failed) return stmt;
match(input,K_ROLE,FOLLOW_K_ROLE_in_dropRoleStatement9281); if (state.failed) return stmt;
// Parser.g:1350:21: ( K_IF K_EXISTS )?
int alt187=2;
int LA187_0 = input.LA(1);
if ( (LA187_0==K_IF) ) {
alt187=1;
}
switch (alt187) {
case 1 :
// Parser.g:1350:22: K_IF K_EXISTS
{
match(input,K_IF,FOLLOW_K_IF_in_dropRoleStatement9284); if (state.failed) return stmt;
match(input,K_EXISTS,FOLLOW_K_EXISTS_in_dropRoleStatement9286); if (state.failed) return stmt;
if ( state.backtracking==0 ) { ifExists = true; }
}
break;
}
pushFollow(FOLLOW_userOrRoleName_in_dropRoleStatement9294);
name=userOrRoleName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = new DropRoleStatement(name, ifExists); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "dropRoleStatement"
// $ANTLR start "listRolesStatement"
// Parser.g:1357:1: listRolesStatement returns [ListRolesStatement stmt] : K_LIST K_ROLES ( K_OF roleName[grantee] )? ( K_NORECURSIVE )? ;
public final ListRolesStatement listRolesStatement() throws RecognitionException {
ListRolesStatement stmt = null;
boolean recursive = true;
RoleName grantee = new RoleName();
try {
// Parser.g:1362:5: ( K_LIST K_ROLES ( K_OF roleName[grantee] )? ( K_NORECURSIVE )? )
// Parser.g:1362:7: K_LIST K_ROLES ( K_OF roleName[grantee] )? ( K_NORECURSIVE )?
{
match(input,K_LIST,FOLLOW_K_LIST_in_listRolesStatement9334); if (state.failed) return stmt;
match(input,K_ROLES,FOLLOW_K_ROLES_in_listRolesStatement9336); if (state.failed) return stmt;
// Parser.g:1363:7: ( K_OF roleName[grantee] )?
int alt188=2;
int LA188_0 = input.LA(1);
if ( (LA188_0==K_OF) ) {
alt188=1;
}
switch (alt188) {
case 1 :
// Parser.g:1363:9: K_OF roleName[grantee]
{
match(input,K_OF,FOLLOW_K_OF_in_listRolesStatement9346); if (state.failed) return stmt;
pushFollow(FOLLOW_roleName_in_listRolesStatement9348);
roleName(grantee);
state._fsp--;
if (state.failed) return stmt;
}
break;
}
// Parser.g:1364:7: ( K_NORECURSIVE )?
int alt189=2;
int LA189_0 = input.LA(1);
if ( (LA189_0==K_NORECURSIVE) ) {
alt189=1;
}
switch (alt189) {
case 1 :
// Parser.g:1364:9: K_NORECURSIVE
{
match(input,K_NORECURSIVE,FOLLOW_K_NORECURSIVE_in_listRolesStatement9361); if (state.failed) return stmt;
if ( state.backtracking==0 ) { recursive = false; }
}
break;
}
if ( state.backtracking==0 ) { stmt = new ListRolesStatement(grantee, recursive); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "listRolesStatement"
// $ANTLR start "roleOptions"
// Parser.g:1368:1: roleOptions[RoleOptions opts, DCPermissions.Builder dcperms, CIDRPermissions.Builder cidrperms] : roleOption[opts, dcperms, cidrperms] ( K_AND roleOption[opts, dcperms, cidrperms] )* ;
public final void roleOptions(RoleOptions opts, DCPermissions.Builder dcperms, CIDRPermissions.Builder cidrperms) throws RecognitionException {
try {
// Parser.g:1369:5: ( roleOption[opts, dcperms, cidrperms] ( K_AND roleOption[opts, dcperms, cidrperms] )* )
// Parser.g:1369:7: roleOption[opts, dcperms, cidrperms] ( K_AND roleOption[opts, dcperms, cidrperms] )*
{
pushFollow(FOLLOW_roleOption_in_roleOptions9392);
roleOption(opts, dcperms, cidrperms);
state._fsp--;
if (state.failed) return;
// Parser.g:1369:44: ( K_AND roleOption[opts, dcperms, cidrperms] )*
loop190:
while (true) {
int alt190=2;
int LA190_0 = input.LA(1);
if ( (LA190_0==K_AND) ) {
alt190=1;
}
switch (alt190) {
case 1 :
// Parser.g:1369:45: K_AND roleOption[opts, dcperms, cidrperms]
{
match(input,K_AND,FOLLOW_K_AND_in_roleOptions9396); if (state.failed) return;
pushFollow(FOLLOW_roleOption_in_roleOptions9398);
roleOption(opts, dcperms, cidrperms);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop190;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "roleOptions"
// $ANTLR start "roleOption"
// Parser.g:1372:1: roleOption[RoleOptions opts, DCPermissions.Builder dcperms, CIDRPermissions.Builder cidrperms] : ( K_PASSWORD '=' v= STRING_LITERAL | K_HASHED K_PASSWORD '=' v= STRING_LITERAL | K_OPTIONS '=' m= fullMapLiteral | K_SUPERUSER '=' b= BOOLEAN | K_LOGIN '=' b= BOOLEAN | K_ACCESS K_TO K_ALL K_DATACENTERS | K_ACCESS K_TO K_DATACENTERS '{' dcPermission[dcperms] ( ',' dcPermission[dcperms] )* '}' | K_ACCESS K_FROM K_ALL K_CIDRS | K_ACCESS K_FROM K_CIDRS '{' cidrPermission[cidrperms] ( ',' cidrPermission[cidrperms] )* '}' );
public final void roleOption(RoleOptions opts, DCPermissions.Builder dcperms, CIDRPermissions.Builder cidrperms) throws RecognitionException {
Token v=null;
Token b=null;
Maps.Literal m =null;
try {
// Parser.g:1373:5: ( K_PASSWORD '=' v= STRING_LITERAL | K_HASHED K_PASSWORD '=' v= STRING_LITERAL | K_OPTIONS '=' m= fullMapLiteral | K_SUPERUSER '=' b= BOOLEAN | K_LOGIN '=' b= BOOLEAN | K_ACCESS K_TO K_ALL K_DATACENTERS | K_ACCESS K_TO K_DATACENTERS '{' dcPermission[dcperms] ( ',' dcPermission[dcperms] )* '}' | K_ACCESS K_FROM K_ALL K_CIDRS | K_ACCESS K_FROM K_CIDRS '{' cidrPermission[cidrperms] ( ',' cidrPermission[cidrperms] )* '}' )
int alt193=9;
alt193 = dfa193.predict(input);
switch (alt193) {
case 1 :
// Parser.g:1373:8: K_PASSWORD '=' v= STRING_LITERAL
{
match(input,K_PASSWORD,FOLLOW_K_PASSWORD_in_roleOption9420); if (state.failed) return;
match(input,221,FOLLOW_221_in_roleOption9422); if (state.failed) return;
v=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_roleOption9426); if (state.failed) return;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.PASSWORD, (v!=null?v.getText():null)); }
}
break;
case 2 :
// Parser.g:1374:8: K_HASHED K_PASSWORD '=' v= STRING_LITERAL
{
match(input,K_HASHED,FOLLOW_K_HASHED_in_roleOption9437); if (state.failed) return;
match(input,K_PASSWORD,FOLLOW_K_PASSWORD_in_roleOption9439); if (state.failed) return;
match(input,221,FOLLOW_221_in_roleOption9441); if (state.failed) return;
v=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_roleOption9445); if (state.failed) return;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.HASHED_PASSWORD, (v!=null?v.getText():null)); }
}
break;
case 3 :
// Parser.g:1375:8: K_OPTIONS '=' m= fullMapLiteral
{
match(input,K_OPTIONS,FOLLOW_K_OPTIONS_in_roleOption9456); if (state.failed) return;
match(input,221,FOLLOW_221_in_roleOption9458); if (state.failed) return;
pushFollow(FOLLOW_fullMapLiteral_in_roleOption9462);
m=fullMapLiteral();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.OPTIONS, convertPropertyMap(m)); }
}
break;
case 4 :
// Parser.g:1376:8: K_SUPERUSER '=' b= BOOLEAN
{
match(input,K_SUPERUSER,FOLLOW_K_SUPERUSER_in_roleOption9473); if (state.failed) return;
match(input,221,FOLLOW_221_in_roleOption9475); if (state.failed) return;
b=(Token)match(input,BOOLEAN,FOLLOW_BOOLEAN_in_roleOption9479); if (state.failed) return;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.SUPERUSER, Boolean.valueOf((b!=null?b.getText():null))); }
}
break;
case 5 :
// Parser.g:1377:8: K_LOGIN '=' b= BOOLEAN
{
match(input,K_LOGIN,FOLLOW_K_LOGIN_in_roleOption9490); if (state.failed) return;
match(input,221,FOLLOW_221_in_roleOption9492); if (state.failed) return;
b=(Token)match(input,BOOLEAN,FOLLOW_BOOLEAN_in_roleOption9496); if (state.failed) return;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.LOGIN, Boolean.valueOf((b!=null?b.getText():null))); }
}
break;
case 6 :
// Parser.g:1378:8: K_ACCESS K_TO K_ALL K_DATACENTERS
{
match(input,K_ACCESS,FOLLOW_K_ACCESS_in_roleOption9507); if (state.failed) return;
match(input,K_TO,FOLLOW_K_TO_in_roleOption9509); if (state.failed) return;
match(input,K_ALL,FOLLOW_K_ALL_in_roleOption9511); if (state.failed) return;
match(input,K_DATACENTERS,FOLLOW_K_DATACENTERS_in_roleOption9513); if (state.failed) return;
if ( state.backtracking==0 ) { dcperms.all(); }
}
break;
case 7 :
// Parser.g:1379:8: K_ACCESS K_TO K_DATACENTERS '{' dcPermission[dcperms] ( ',' dcPermission[dcperms] )* '}'
{
match(input,K_ACCESS,FOLLOW_K_ACCESS_in_roleOption9524); if (state.failed) return;
match(input,K_TO,FOLLOW_K_TO_in_roleOption9526); if (state.failed) return;
match(input,K_DATACENTERS,FOLLOW_K_DATACENTERS_in_roleOption9528); if (state.failed) return;
match(input,228,FOLLOW_228_in_roleOption9530); if (state.failed) return;
pushFollow(FOLLOW_dcPermission_in_roleOption9532);
dcPermission(dcperms);
state._fsp--;
if (state.failed) return;
// Parser.g:1379:62: ( ',' dcPermission[dcperms] )*
loop191:
while (true) {
int alt191=2;
int LA191_0 = input.LA(1);
if ( (LA191_0==212) ) {
alt191=1;
}
switch (alt191) {
case 1 :
// Parser.g:1379:63: ',' dcPermission[dcperms]
{
match(input,212,FOLLOW_212_in_roleOption9536); if (state.failed) return;
pushFollow(FOLLOW_dcPermission_in_roleOption9538);
dcPermission(dcperms);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop191;
}
}
match(input,229,FOLLOW_229_in_roleOption9543); if (state.failed) return;
}
break;
case 8 :
// Parser.g:1380:8: K_ACCESS K_FROM K_ALL K_CIDRS
{
match(input,K_ACCESS,FOLLOW_K_ACCESS_in_roleOption9552); if (state.failed) return;
match(input,K_FROM,FOLLOW_K_FROM_in_roleOption9554); if (state.failed) return;
match(input,K_ALL,FOLLOW_K_ALL_in_roleOption9556); if (state.failed) return;
match(input,K_CIDRS,FOLLOW_K_CIDRS_in_roleOption9558); if (state.failed) return;
if ( state.backtracking==0 ) { cidrperms.all(); }
}
break;
case 9 :
// Parser.g:1381:8: K_ACCESS K_FROM K_CIDRS '{' cidrPermission[cidrperms] ( ',' cidrPermission[cidrperms] )* '}'
{
match(input,K_ACCESS,FOLLOW_K_ACCESS_in_roleOption9569); if (state.failed) return;
match(input,K_FROM,FOLLOW_K_FROM_in_roleOption9571); if (state.failed) return;
match(input,K_CIDRS,FOLLOW_K_CIDRS_in_roleOption9573); if (state.failed) return;
match(input,228,FOLLOW_228_in_roleOption9575); if (state.failed) return;
pushFollow(FOLLOW_cidrPermission_in_roleOption9577);
cidrPermission(cidrperms);
state._fsp--;
if (state.failed) return;
// Parser.g:1381:62: ( ',' cidrPermission[cidrperms] )*
loop192:
while (true) {
int alt192=2;
int LA192_0 = input.LA(1);
if ( (LA192_0==212) ) {
alt192=1;
}
switch (alt192) {
case 1 :
// Parser.g:1381:63: ',' cidrPermission[cidrperms]
{
match(input,212,FOLLOW_212_in_roleOption9581); if (state.failed) return;
pushFollow(FOLLOW_cidrPermission_in_roleOption9583);
cidrPermission(cidrperms);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop192;
}
}
match(input,229,FOLLOW_229_in_roleOption9588); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "roleOption"
// $ANTLR start "dcPermission"
// Parser.g:1384:1: dcPermission[DCPermissions.Builder builder] : dc= STRING_LITERAL ;
public final void dcPermission(DCPermissions.Builder builder) throws RecognitionException {
Token dc=null;
try {
// Parser.g:1385:5: (dc= STRING_LITERAL )
// Parser.g:1385:7: dc= STRING_LITERAL
{
dc=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_dcPermission9608); if (state.failed) return;
if ( state.backtracking==0 ) { builder.add((dc!=null?dc.getText():null)); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "dcPermission"
// $ANTLR start "cidrPermission"
// Parser.g:1388:1: cidrPermission[CIDRPermissions.Builder builder] : cidr= STRING_LITERAL ;
public final void cidrPermission(CIDRPermissions.Builder builder) throws RecognitionException {
Token cidr=null;
try {
// Parser.g:1389:5: (cidr= STRING_LITERAL )
// Parser.g:1389:7: cidr= STRING_LITERAL
{
cidr=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_cidrPermission9630); if (state.failed) return;
if ( state.backtracking==0 ) { builder.add((cidr!=null?cidr.getText():null)); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "cidrPermission"
// $ANTLR start "userPassword"
// Parser.g:1393:1: userPassword[RoleOptions opts] : ( K_PASSWORD v= STRING_LITERAL | K_HASHED K_PASSWORD v= STRING_LITERAL );
public final void userPassword(RoleOptions opts) throws RecognitionException {
Token v=null;
try {
// Parser.g:1394:5: ( K_PASSWORD v= STRING_LITERAL | K_HASHED K_PASSWORD v= STRING_LITERAL )
int alt194=2;
int LA194_0 = input.LA(1);
if ( (LA194_0==K_PASSWORD) ) {
alt194=1;
}
else if ( (LA194_0==K_HASHED) ) {
alt194=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 194, 0, input);
throw nvae;
}
switch (alt194) {
case 1 :
// Parser.g:1394:8: K_PASSWORD v= STRING_LITERAL
{
match(input,K_PASSWORD,FOLLOW_K_PASSWORD_in_userPassword9652); if (state.failed) return;
v=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_userPassword9656); if (state.failed) return;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.PASSWORD, (v!=null?v.getText():null)); }
}
break;
case 2 :
// Parser.g:1395:8: K_HASHED K_PASSWORD v= STRING_LITERAL
{
match(input,K_HASHED,FOLLOW_K_HASHED_in_userPassword9667); if (state.failed) return;
match(input,K_PASSWORD,FOLLOW_K_PASSWORD_in_userPassword9669); if (state.failed) return;
v=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_userPassword9673); if (state.failed) return;
if ( state.backtracking==0 ) { opts.setOption(IRoleManager.Option.HASHED_PASSWORD, (v!=null?v.getText():null)); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "userPassword"
// $ANTLR start "describeStatement"
// Parser.g:1404:1: describeStatement returns [DescribeStatement stmt] : ( K_DESCRIBE | K_DESC ) ( ( K_CLUSTER )=> K_CLUSTER | ( K_FULL )? K_SCHEMA | ( K_KEYSPACES )=> K_KEYSPACES | ( K_ONLY )? K_KEYSPACE (ks= keyspaceName )? | ( K_TABLES )=> K_TABLES | K_COLUMNFAMILY cf= columnFamilyName | K_INDEX idx= columnFamilyName | K_MATERIALIZED K_VIEW view= columnFamilyName | ( K_TYPES )=> K_TYPES | K_TYPE tn= userTypeName | ( K_FUNCTIONS )=> K_FUNCTIONS | K_FUNCTION fn= functionName | ( K_AGGREGATES )=> K_AGGREGATES | K_AGGREGATE ag= functionName | ( (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.' )? (tT= IDENT |tT= QUOTED_NAME |tK= unreserved_keyword ) ) ( K_WITH K_INTERNALS )? ;
public final DescribeStatement describeStatement() throws RecognitionException {
DescribeStatement stmt = null;
Token ksT=null;
Token tT=null;
String ks =null;
QualifiedName cf =null;
QualifiedName idx =null;
QualifiedName view =null;
UTName tn =null;
FunctionName fn =null;
FunctionName ag =null;
String ksK =null;
String tK =null;
boolean fullSchema = false;
boolean pending = false;
boolean config = false;
boolean only = false;
QualifiedName gen = new QualifiedName();
try {
// Parser.g:1412:5: ( ( K_DESCRIBE | K_DESC ) ( ( K_CLUSTER )=> K_CLUSTER | ( K_FULL )? K_SCHEMA | ( K_KEYSPACES )=> K_KEYSPACES | ( K_ONLY )? K_KEYSPACE (ks= keyspaceName )? | ( K_TABLES )=> K_TABLES | K_COLUMNFAMILY cf= columnFamilyName | K_INDEX idx= columnFamilyName | K_MATERIALIZED K_VIEW view= columnFamilyName | ( K_TYPES )=> K_TYPES | K_TYPE tn= userTypeName | ( K_FUNCTIONS )=> K_FUNCTIONS | K_FUNCTION fn= functionName | ( K_AGGREGATES )=> K_AGGREGATES | K_AGGREGATE ag= functionName | ( (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.' )? (tT= IDENT |tT= QUOTED_NAME |tK= unreserved_keyword ) ) ( K_WITH K_INTERNALS )? )
// Parser.g:1412:7: ( K_DESCRIBE | K_DESC ) ( ( K_CLUSTER )=> K_CLUSTER | ( K_FULL )? K_SCHEMA | ( K_KEYSPACES )=> K_KEYSPACES | ( K_ONLY )? K_KEYSPACE (ks= keyspaceName )? | ( K_TABLES )=> K_TABLES | K_COLUMNFAMILY cf= columnFamilyName | K_INDEX idx= columnFamilyName | K_MATERIALIZED K_VIEW view= columnFamilyName | ( K_TYPES )=> K_TYPES | K_TYPE tn= userTypeName | ( K_FUNCTIONS )=> K_FUNCTIONS | K_FUNCTION fn= functionName | ( K_AGGREGATES )=> K_AGGREGATES | K_AGGREGATE ag= functionName | ( (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.' )? (tT= IDENT |tT= QUOTED_NAME |tK= unreserved_keyword ) ) ( K_WITH K_INTERNALS )?
{
if ( (input.LA(1) >= K_DESC && input.LA(1) <= K_DESCRIBE) ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return stmt;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
// Parser.g:1413:5: ( ( K_CLUSTER )=> K_CLUSTER | ( K_FULL )? K_SCHEMA | ( K_KEYSPACES )=> K_KEYSPACES | ( K_ONLY )? K_KEYSPACE (ks= keyspaceName )? | ( K_TABLES )=> K_TABLES | K_COLUMNFAMILY cf= columnFamilyName | K_INDEX idx= columnFamilyName | K_MATERIALIZED K_VIEW view= columnFamilyName | ( K_TYPES )=> K_TYPES | K_TYPE tn= userTypeName | ( K_FUNCTIONS )=> K_FUNCTIONS | K_FUNCTION fn= functionName | ( K_AGGREGATES )=> K_AGGREGATES | K_AGGREGATE ag= functionName | ( (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.' )? (tT= IDENT |tT= QUOTED_NAME |tK= unreserved_keyword ) )
int alt201=15;
alt201 = dfa201.predict(input);
switch (alt201) {
case 1 :
// Parser.g:1413:7: ( K_CLUSTER )=> K_CLUSTER
{
match(input,K_CLUSTER,FOLLOW_K_CLUSTER_in_describeStatement9728); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.cluster(); }
}
break;
case 2 :
// Parser.g:1414:7: ( K_FULL )? K_SCHEMA
{
// Parser.g:1414:7: ( K_FULL )?
int alt195=2;
int LA195_0 = input.LA(1);
if ( (LA195_0==K_FULL) ) {
alt195=1;
}
switch (alt195) {
case 1 :
// Parser.g:1414:8: K_FULL
{
match(input,K_FULL,FOLLOW_K_FULL_in_describeStatement9759); if (state.failed) return stmt;
if ( state.backtracking==0 ) { fullSchema=true; }
}
break;
}
match(input,K_SCHEMA,FOLLOW_K_SCHEMA_in_describeStatement9765); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.schema(fullSchema); }
}
break;
case 3 :
// Parser.g:1415:7: ( K_KEYSPACES )=> K_KEYSPACES
{
match(input,K_KEYSPACES,FOLLOW_K_KEYSPACES_in_describeStatement9784); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.keyspaces(); }
}
break;
case 4 :
// Parser.g:1416:7: ( K_ONLY )? K_KEYSPACE (ks= keyspaceName )?
{
// Parser.g:1416:7: ( K_ONLY )?
int alt196=2;
int LA196_0 = input.LA(1);
if ( (LA196_0==K_ONLY) ) {
alt196=1;
}
switch (alt196) {
case 1 :
// Parser.g:1416:8: K_ONLY
{
match(input,K_ONLY,FOLLOW_K_ONLY_in_describeStatement9811); if (state.failed) return stmt;
if ( state.backtracking==0 ) { only=true; }
}
break;
}
match(input,K_KEYSPACE,FOLLOW_K_KEYSPACE_in_describeStatement9817); if (state.failed) return stmt;
// Parser.g:1416:43: (ks= keyspaceName )?
int alt197=2;
int LA197_0 = input.LA(1);
if ( (LA197_0==IDENT||LA197_0==K_ACCESS||(LA197_0 >= K_AGGREGATE && LA197_0 <= K_ALL)||LA197_0==K_AS||LA197_0==K_ASCII||(LA197_0 >= K_BIGINT && LA197_0 <= K_BOOLEAN)||(LA197_0 >= K_CALLED && LA197_0 <= K_CLUSTERING)||(LA197_0 >= K_COMPACT && LA197_0 <= K_COUNTER)||(LA197_0 >= K_CUSTOM && LA197_0 <= K_DEFAULT)||(LA197_0 >= K_DISTINCT && LA197_0 <= K_DOUBLE)||LA197_0==K_DURATION||(LA197_0 >= K_EXISTS && LA197_0 <= K_FLOAT)||LA197_0==K_FROZEN||(LA197_0 >= K_FUNCTION && LA197_0 <= K_FUNCTIONS)||(LA197_0 >= K_GROUP && LA197_0 <= K_IDENTITY)||(LA197_0 >= K_INET && LA197_0 <= K_INPUT)||(LA197_0 >= K_INT && LA197_0 <= K_INTERNALS)||(LA197_0 >= K_JSON && LA197_0 <= K_KEYS)||(LA197_0 >= K_KEYSPACES && LA197_0 <= K_LIKE)||(LA197_0 >= K_LIST && LA197_0 <= K_MASKED)||(LA197_0 >= K_MAXWRITETIME && LA197_0 <= K_MBEANS)||LA197_0==K_NOLOGIN||LA197_0==K_NOSUPERUSER||(LA197_0 >= K_ONLY && LA197_0 <= K_OPTIONS)||(LA197_0 >= K_PARTITION && LA197_0 <= K_PERMISSIONS)||(LA197_0 >= K_REPLACE && LA197_0 <= K_RETURNS)||(LA197_0 >= K_ROLE && LA197_0 <= K_ROLES)||LA197_0==K_SELECT_MASKED||(LA197_0 >= K_SFUNC && LA197_0 <= K_TINYINT)||LA197_0==K_TRIGGER||(LA197_0 >= K_TTL && LA197_0 <= K_TYPES)||(LA197_0 >= K_UNMASK && LA197_0 <= K_UNSET)||(LA197_0 >= K_USER && LA197_0 <= K_USERS)||(LA197_0 >= K_UUID && LA197_0 <= K_VECTOR)||LA197_0==K_WRITETIME||(LA197_0 >= QMARK && LA197_0 <= QUOTED_NAME)) ) {
alt197=1;
}
switch (alt197) {
case 1 :
// Parser.g:1416:45: ks= keyspaceName
{
pushFollow(FOLLOW_keyspaceName_in_describeStatement9823);
ks=keyspaceName();
state._fsp--;
if (state.failed) return stmt;
}
break;
}
if ( state.backtracking==0 ) { stmt = DescribeStatement.keyspace(ks, only); }
}
break;
case 5 :
// Parser.g:1418:7: ( K_TABLES )=> K_TABLES
{
match(input,K_TABLES,FOLLOW_K_TABLES_in_describeStatement9892); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.tables(); }
}
break;
case 6 :
// Parser.g:1419:7: K_COLUMNFAMILY cf= columnFamilyName
{
match(input,K_COLUMNFAMILY,FOLLOW_K_COLUMNFAMILY_in_describeStatement9923); if (state.failed) return stmt;
pushFollow(FOLLOW_columnFamilyName_in_describeStatement9927);
cf=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.table(cf.getKeyspace(), cf.getName()); }
}
break;
case 7 :
// Parser.g:1420:7: K_INDEX idx= columnFamilyName
{
match(input,K_INDEX,FOLLOW_K_INDEX_in_describeStatement9946); if (state.failed) return stmt;
pushFollow(FOLLOW_columnFamilyName_in_describeStatement9950);
idx=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.index(idx.getKeyspace(), idx.getName()); }
}
break;
case 8 :
// Parser.g:1421:7: K_MATERIALIZED K_VIEW view= columnFamilyName
{
match(input,K_MATERIALIZED,FOLLOW_K_MATERIALIZED_in_describeStatement9975); if (state.failed) return stmt;
match(input,K_VIEW,FOLLOW_K_VIEW_in_describeStatement9977); if (state.failed) return stmt;
pushFollow(FOLLOW_columnFamilyName_in_describeStatement9981);
view=columnFamilyName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.view(view.getKeyspace(), view.getName()); }
}
break;
case 9 :
// Parser.g:1422:7: ( K_TYPES )=> K_TYPES
{
match(input,K_TYPES,FOLLOW_K_TYPES_in_describeStatement9997); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.types(); }
}
break;
case 10 :
// Parser.g:1423:7: K_TYPE tn= userTypeName
{
match(input,K_TYPE,FOLLOW_K_TYPE_in_describeStatement10030); if (state.failed) return stmt;
pushFollow(FOLLOW_userTypeName_in_describeStatement10034);
tn=userTypeName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.type(tn.getKeyspace(), tn.getStringTypeName()); }
}
break;
case 11 :
// Parser.g:1424:7: ( K_FUNCTIONS )=> K_FUNCTIONS
{
match(input,K_FUNCTIONS,FOLLOW_K_FUNCTIONS_in_describeStatement10071); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.functions(); }
}
break;
case 12 :
// Parser.g:1425:7: K_FUNCTION fn= functionName
{
match(input,K_FUNCTION,FOLLOW_K_FUNCTION_in_describeStatement10096); if (state.failed) return stmt;
pushFollow(FOLLOW_functionName_in_describeStatement10100);
fn=functionName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.function(fn.keyspace, fn.name); }
}
break;
case 13 :
// Parser.g:1426:7: ( K_AGGREGATES )=> K_AGGREGATES
{
match(input,K_AGGREGATES,FOLLOW_K_AGGREGATES_in_describeStatement10133); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.aggregates(); }
}
break;
case 14 :
// Parser.g:1427:7: K_AGGREGATE ag= functionName
{
match(input,K_AGGREGATE,FOLLOW_K_AGGREGATE_in_describeStatement10156); if (state.failed) return stmt;
pushFollow(FOLLOW_functionName_in_describeStatement10160);
ag=functionName();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt = DescribeStatement.aggregate(ag.keyspace, ag.name); }
}
break;
case 15 :
// Parser.g:1428:7: ( (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.' )? (tT= IDENT |tT= QUOTED_NAME |tK= unreserved_keyword )
{
// Parser.g:1428:7: ( (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.' )?
int alt199=2;
alt199 = dfa199.predict(input);
switch (alt199) {
case 1 :
// Parser.g:1428:9: (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.'
{
// Parser.g:1428:9: (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword )
int alt198=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt198=1;
}
break;
case QUOTED_NAME:
{
alt198=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt198=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return stmt;}
NoViableAltException nvae =
new NoViableAltException("", 198, 0, input);
throw nvae;
}
switch (alt198) {
case 1 :
// Parser.g:1428:11: ksT= IDENT
{
ksT=(Token)match(input,IDENT,FOLLOW_IDENT_in_describeStatement10192); if (state.failed) return stmt;
if ( state.backtracking==0 ) { gen.setKeyspace((ksT!=null?ksT.getText():null), false);}
}
break;
case 2 :
// Parser.g:1429:13: ksT= QUOTED_NAME
{
ksT=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_describeStatement10232); if (state.failed) return stmt;
if ( state.backtracking==0 ) { gen.setKeyspace((ksT!=null?ksT.getText():null), true);}
}
break;
case 3 :
// Parser.g:1430:13: ksK= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_describeStatement10266);
ksK=unreserved_keyword();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { gen.setKeyspace(ksK, false);}
}
break;
}
match(input,215,FOLLOW_215_in_describeStatement10281); if (state.failed) return stmt;
}
break;
}
// Parser.g:1431:9: (tT= IDENT |tT= QUOTED_NAME |tK= unreserved_keyword )
int alt200=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt200=1;
}
break;
case QUOTED_NAME:
{
alt200=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt200=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return stmt;}
NoViableAltException nvae =
new NoViableAltException("", 200, 0, input);
throw nvae;
}
switch (alt200) {
case 1 :
// Parser.g:1431:11: tT= IDENT
{
tT=(Token)match(input,IDENT,FOLLOW_IDENT_in_describeStatement10298); if (state.failed) return stmt;
if ( state.backtracking==0 ) { gen.setName((tT!=null?tT.getText():null), false);}
}
break;
case 2 :
// Parser.g:1432:11: tT= QUOTED_NAME
{
tT=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_describeStatement10339); if (state.failed) return stmt;
if ( state.backtracking==0 ) { gen.setName((tT!=null?tT.getText():null), true);}
}
break;
case 3 :
// Parser.g:1433:11: tK= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_describeStatement10374);
tK=unreserved_keyword();
state._fsp--;
if (state.failed) return stmt;
if ( state.backtracking==0 ) { gen.setName(tK, false);}
}
break;
}
if ( state.backtracking==0 ) { stmt = DescribeStatement.generic(gen.getKeyspace(), gen.getName()); }
}
break;
}
// Parser.g:1436:5: ( K_WITH K_INTERNALS )?
int alt202=2;
int LA202_0 = input.LA(1);
if ( (LA202_0==K_WITH) ) {
alt202=1;
}
switch (alt202) {
case 1 :
// Parser.g:1436:7: K_WITH K_INTERNALS
{
match(input,K_WITH,FOLLOW_K_WITH_in_describeStatement10458); if (state.failed) return stmt;
match(input,K_INTERNALS,FOLLOW_K_INTERNALS_in_describeStatement10460); if (state.failed) return stmt;
if ( state.backtracking==0 ) { stmt.withInternalDetails(); }
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return stmt;
}
// $ANTLR end "describeStatement"
// $ANTLR start "cident"
// Parser.g:1443:1: cident returns [ColumnIdentifier id] : ( EMPTY_QUOTED_NAME |t= ident );
public final ColumnIdentifier cident() throws RecognitionException {
ColumnIdentifier id = null;
ColumnIdentifier t =null;
try {
// Parser.g:1444:5: ( EMPTY_QUOTED_NAME |t= ident )
int alt203=2;
int LA203_0 = input.LA(1);
if ( (LA203_0==EMPTY_QUOTED_NAME) ) {
alt203=1;
}
else if ( (LA203_0==IDENT||LA203_0==K_ACCESS||(LA203_0 >= K_AGGREGATE && LA203_0 <= K_ALL)||LA203_0==K_AS||LA203_0==K_ASCII||(LA203_0 >= K_BIGINT && LA203_0 <= K_BOOLEAN)||(LA203_0 >= K_CALLED && LA203_0 <= K_CLUSTERING)||(LA203_0 >= K_COMPACT && LA203_0 <= K_COUNTER)||(LA203_0 >= K_CUSTOM && LA203_0 <= K_DEFAULT)||(LA203_0 >= K_DISTINCT && LA203_0 <= K_DOUBLE)||LA203_0==K_DURATION||(LA203_0 >= K_EXISTS && LA203_0 <= K_FLOAT)||LA203_0==K_FROZEN||(LA203_0 >= K_FUNCTION && LA203_0 <= K_FUNCTIONS)||(LA203_0 >= K_GROUP && LA203_0 <= K_IDENTITY)||(LA203_0 >= K_INET && LA203_0 <= K_INPUT)||(LA203_0 >= K_INT && LA203_0 <= K_INTERNALS)||(LA203_0 >= K_JSON && LA203_0 <= K_KEYS)||(LA203_0 >= K_KEYSPACES && LA203_0 <= K_LIKE)||(LA203_0 >= K_LIST && LA203_0 <= K_MASKED)||(LA203_0 >= K_MAXWRITETIME && LA203_0 <= K_MBEANS)||LA203_0==K_NOLOGIN||LA203_0==K_NOSUPERUSER||(LA203_0 >= K_ONLY && LA203_0 <= K_OPTIONS)||(LA203_0 >= K_PARTITION && LA203_0 <= K_PERMISSIONS)||(LA203_0 >= K_REPLACE && LA203_0 <= K_RETURNS)||(LA203_0 >= K_ROLE && LA203_0 <= K_ROLES)||LA203_0==K_SELECT_MASKED||(LA203_0 >= K_SFUNC && LA203_0 <= K_TINYINT)||LA203_0==K_TRIGGER||(LA203_0 >= K_TTL && LA203_0 <= K_TYPES)||(LA203_0 >= K_UNMASK && LA203_0 <= K_UNSET)||(LA203_0 >= K_USER && LA203_0 <= K_USERS)||(LA203_0 >= K_UUID && LA203_0 <= K_VECTOR)||LA203_0==K_WRITETIME||LA203_0==QUOTED_NAME) ) {
alt203=2;
}
else {
if (state.backtracking>0) {state.failed=true; return id;}
NoViableAltException nvae =
new NoViableAltException("", 203, 0, input);
throw nvae;
}
switch (alt203) {
case 1 :
// Parser.g:1444:7: EMPTY_QUOTED_NAME
{
match(input,EMPTY_QUOTED_NAME,FOLLOW_EMPTY_QUOTED_NAME_in_cident10491); if (state.failed) return id;
if ( state.backtracking==0 ) { id = ColumnIdentifier.getInterned("", true); }
}
break;
case 2 :
// Parser.g:1445:7: t= ident
{
pushFollow(FOLLOW_ident_in_cident10506);
t=ident();
state._fsp--;
if (state.failed) return id;
if ( state.backtracking==0 ) { id = t; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return id;
}
// $ANTLR end "cident"
// $ANTLR start "ident"
// Parser.g:1448:1: ident returns [ColumnIdentifier id] : (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword );
public final ColumnIdentifier ident() throws RecognitionException {
ColumnIdentifier id = null;
Token t=null;
String k =null;
try {
// Parser.g:1449:5: (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword )
int alt204=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt204=1;
}
break;
case QUOTED_NAME:
{
alt204=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt204=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return id;}
NoViableAltException nvae =
new NoViableAltException("", 204, 0, input);
throw nvae;
}
switch (alt204) {
case 1 :
// Parser.g:1449:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_ident10544); if (state.failed) return id;
if ( state.backtracking==0 ) { id = ColumnIdentifier.getInterned((t!=null?t.getText():null), false); }
}
break;
case 2 :
// Parser.g:1450:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_ident10569); if (state.failed) return id;
if ( state.backtracking==0 ) { id = ColumnIdentifier.getInterned((t!=null?t.getText():null), true); }
}
break;
case 3 :
// Parser.g:1451:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_ident10588);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return id;
if ( state.backtracking==0 ) { id = ColumnIdentifier.getInterned(k, false); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return id;
}
// $ANTLR end "ident"
// $ANTLR start "fident"
// Parser.g:1454:1: fident returns [FieldIdentifier id] : (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword );
public final FieldIdentifier fident() throws RecognitionException {
FieldIdentifier id = null;
Token t=null;
String k =null;
try {
// Parser.g:1455:5: (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword )
int alt205=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt205=1;
}
break;
case QUOTED_NAME:
{
alt205=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt205=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return id;}
NoViableAltException nvae =
new NoViableAltException("", 205, 0, input);
throw nvae;
}
switch (alt205) {
case 1 :
// Parser.g:1455:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_fident10613); if (state.failed) return id;
if ( state.backtracking==0 ) { id = FieldIdentifier.forUnquoted((t!=null?t.getText():null)); }
}
break;
case 2 :
// Parser.g:1456:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_fident10638); if (state.failed) return id;
if ( state.backtracking==0 ) { id = FieldIdentifier.forQuoted((t!=null?t.getText():null)); }
}
break;
case 3 :
// Parser.g:1457:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_fident10657);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return id;
if ( state.backtracking==0 ) { id = FieldIdentifier.forUnquoted(k); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return id;
}
// $ANTLR end "fident"
// $ANTLR start "noncol_ident"
// Parser.g:1461:1: noncol_ident returns [ColumnIdentifier id] : (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword );
public final ColumnIdentifier noncol_ident() throws RecognitionException {
ColumnIdentifier id = null;
Token t=null;
String k =null;
try {
// Parser.g:1462:5: (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword )
int alt206=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt206=1;
}
break;
case QUOTED_NAME:
{
alt206=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt206=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return id;}
NoViableAltException nvae =
new NoViableAltException("", 206, 0, input);
throw nvae;
}
switch (alt206) {
case 1 :
// Parser.g:1462:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_noncol_ident10683); if (state.failed) return id;
if ( state.backtracking==0 ) { id = new ColumnIdentifier((t!=null?t.getText():null), false); }
}
break;
case 2 :
// Parser.g:1463:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_noncol_ident10708); if (state.failed) return id;
if ( state.backtracking==0 ) { id = new ColumnIdentifier((t!=null?t.getText():null), true); }
}
break;
case 3 :
// Parser.g:1464:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_noncol_ident10727);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return id;
if ( state.backtracking==0 ) { id = new ColumnIdentifier(k, false); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return id;
}
// $ANTLR end "noncol_ident"
// $ANTLR start "keyspaceName"
// Parser.g:1468:1: keyspaceName returns [String id] : ksName[name] ;
public final String keyspaceName() throws RecognitionException {
String id = null;
QualifiedName name = new QualifiedName();
try {
// Parser.g:1470:5: ( ksName[name] )
// Parser.g:1470:7: ksName[name]
{
pushFollow(FOLLOW_ksName_in_keyspaceName10760);
ksName(name);
state._fsp--;
if (state.failed) return id;
if ( state.backtracking==0 ) { id = name.getKeyspace(); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return id;
}
// $ANTLR end "keyspaceName"
// $ANTLR start "indexName"
// Parser.g:1473:1: indexName returns [QualifiedName name] : ( ksName[name] '.' )? idxName[name] ;
public final QualifiedName indexName() throws RecognitionException {
QualifiedName name = null;
name = new QualifiedName();
try {
// Parser.g:1475:5: ( ( ksName[name] '.' )? idxName[name] )
// Parser.g:1475:7: ( ksName[name] '.' )? idxName[name]
{
// Parser.g:1475:7: ( ksName[name] '.' )?
int alt207=2;
alt207 = dfa207.predict(input);
switch (alt207) {
case 1 :
// Parser.g:1475:8: ksName[name] '.'
{
pushFollow(FOLLOW_ksName_in_indexName10794);
ksName(name);
state._fsp--;
if (state.failed) return name;
match(input,215,FOLLOW_215_in_indexName10797); if (state.failed) return name;
}
break;
}
pushFollow(FOLLOW_idxName_in_indexName10801);
idxName(name);
state._fsp--;
if (state.failed) return name;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return name;
}
// $ANTLR end "indexName"
// $ANTLR start "columnFamilyName"
// Parser.g:1478:1: columnFamilyName returns [QualifiedName name] : ( ksName[name] '.' )? cfName[name] ;
public final QualifiedName columnFamilyName() throws RecognitionException {
QualifiedName name = null;
name = new QualifiedName();
try {
// Parser.g:1480:5: ( ( ksName[name] '.' )? cfName[name] )
// Parser.g:1480:7: ( ksName[name] '.' )? cfName[name]
{
// Parser.g:1480:7: ( ksName[name] '.' )?
int alt208=2;
alt208 = dfa208.predict(input);
switch (alt208) {
case 1 :
// Parser.g:1480:8: ksName[name] '.'
{
pushFollow(FOLLOW_ksName_in_columnFamilyName10833);
ksName(name);
state._fsp--;
if (state.failed) return name;
match(input,215,FOLLOW_215_in_columnFamilyName10836); if (state.failed) return name;
}
break;
}
pushFollow(FOLLOW_cfName_in_columnFamilyName10840);
cfName(name);
state._fsp--;
if (state.failed) return name;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return name;
}
// $ANTLR end "columnFamilyName"
// $ANTLR start "userTypeName"
// Parser.g:1483:1: userTypeName returns [UTName name] : (ks= noncol_ident '.' )? ut= non_type_ident ;
public final UTName userTypeName() throws RecognitionException {
UTName name = null;
ColumnIdentifier ks =null;
ColumnIdentifier ut =null;
try {
// Parser.g:1484:5: ( (ks= noncol_ident '.' )? ut= non_type_ident )
// Parser.g:1484:7: (ks= noncol_ident '.' )? ut= non_type_ident
{
// Parser.g:1484:7: (ks= noncol_ident '.' )?
int alt209=2;
switch ( input.LA(1) ) {
case IDENT:
{
int LA209_1 = input.LA(2);
if ( (LA209_1==215) ) {
alt209=1;
}
}
break;
case QUOTED_NAME:
{
int LA209_2 = input.LA(2);
if ( (LA209_2==215) ) {
alt209=1;
}
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_CALLED:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_CUSTOM:
case K_DATACENTERS:
case K_DEFAULT:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INITCOND:
case K_INPUT:
case K_INTERNALS:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TRIGGER:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_VALUES:
case K_VECTOR:
{
int LA209_3 = input.LA(2);
if ( (LA209_3==215) ) {
alt209=1;
}
}
break;
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CAST:
case K_COUNT:
case K_COUNTER:
case K_DATE:
case K_DECIMAL:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_FLOAT:
case K_INET:
case K_INT:
case K_JSON:
case K_MAXWRITETIME:
case K_SMALLINT:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TTL:
case K_UUID:
case K_VARCHAR:
case K_VARINT:
case K_WRITETIME:
{
alt209=1;
}
break;
case K_KEY:
{
int LA209_5 = input.LA(2);
if ( (LA209_5==215) ) {
alt209=1;
}
}
break;
}
switch (alt209) {
case 1 :
// Parser.g:1484:8: ks= noncol_ident '.'
{
pushFollow(FOLLOW_noncol_ident_in_userTypeName10865);
ks=noncol_ident();
state._fsp--;
if (state.failed) return name;
match(input,215,FOLLOW_215_in_userTypeName10867); if (state.failed) return name;
}
break;
}
pushFollow(FOLLOW_non_type_ident_in_userTypeName10873);
ut=non_type_ident();
state._fsp--;
if (state.failed) return name;
if ( state.backtracking==0 ) { name = new UTName(ks, ut); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return name;
}
// $ANTLR end "userTypeName"
// $ANTLR start "userOrRoleName"
// Parser.g:1487:1: userOrRoleName returns [RoleName name] : roleName[role] ;
public final RoleName userOrRoleName() throws RecognitionException {
RoleName name = null;
RoleName role = new RoleName();
try {
// Parser.g:1489:5: ( roleName[role] )
// Parser.g:1489:7: roleName[role]
{
pushFollow(FOLLOW_roleName_in_userOrRoleName10905);
roleName(role);
state._fsp--;
if (state.failed) return name;
if ( state.backtracking==0 ) {name = role;}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return name;
}
// $ANTLR end "userOrRoleName"
// $ANTLR start "ksName"
// Parser.g:1492:1: ksName[QualifiedName name] : (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword | QMARK );
public final void ksName(QualifiedName name) throws RecognitionException {
Token t=null;
String k =null;
try {
// Parser.g:1493:5: (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword | QMARK )
int alt210=4;
switch ( input.LA(1) ) {
case IDENT:
{
alt210=1;
}
break;
case QUOTED_NAME:
{
alt210=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt210=3;
}
break;
case QMARK:
{
alt210=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 210, 0, input);
throw nvae;
}
switch (alt210) {
case 1 :
// Parser.g:1493:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_ksName10928); if (state.failed) return;
if ( state.backtracking==0 ) { name.setKeyspace((t!=null?t.getText():null), false);}
}
break;
case 2 :
// Parser.g:1494:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_ksName10953); if (state.failed) return;
if ( state.backtracking==0 ) { name.setKeyspace((t!=null?t.getText():null), true);}
}
break;
case 3 :
// Parser.g:1495:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_ksName10972);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { name.setKeyspace(k, false);}
}
break;
case 4 :
// Parser.g:1496:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_ksName10982); if (state.failed) return;
if ( state.backtracking==0 ) {addRecognitionError("Bind variables cannot be used for keyspace names");}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ksName"
// $ANTLR start "cfName"
// Parser.g:1499:1: cfName[QualifiedName name] : (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword | QMARK );
public final void cfName(QualifiedName name) throws RecognitionException {
Token t=null;
String k =null;
try {
// Parser.g:1500:5: (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword | QMARK )
int alt211=4;
switch ( input.LA(1) ) {
case IDENT:
{
alt211=1;
}
break;
case QUOTED_NAME:
{
alt211=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt211=3;
}
break;
case QMARK:
{
alt211=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 211, 0, input);
throw nvae;
}
switch (alt211) {
case 1 :
// Parser.g:1500:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_cfName11004); if (state.failed) return;
if ( state.backtracking==0 ) { name.setName((t!=null?t.getText():null), false); }
}
break;
case 2 :
// Parser.g:1501:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_cfName11029); if (state.failed) return;
if ( state.backtracking==0 ) { name.setName((t!=null?t.getText():null), true); }
}
break;
case 3 :
// Parser.g:1502:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_cfName11048);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { name.setName(k, false); }
}
break;
case 4 :
// Parser.g:1503:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_cfName11058); if (state.failed) return;
if ( state.backtracking==0 ) {addRecognitionError("Bind variables cannot be used for table names");}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "cfName"
// $ANTLR start "idxName"
// Parser.g:1506:1: idxName[QualifiedName name] : (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword | QMARK );
public final void idxName(QualifiedName name) throws RecognitionException {
Token t=null;
String k =null;
try {
// Parser.g:1507:5: (t= IDENT |t= QUOTED_NAME |k= unreserved_keyword | QMARK )
int alt212=4;
switch ( input.LA(1) ) {
case IDENT:
{
alt212=1;
}
break;
case QUOTED_NAME:
{
alt212=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt212=3;
}
break;
case QMARK:
{
alt212=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 212, 0, input);
throw nvae;
}
switch (alt212) {
case 1 :
// Parser.g:1507:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_idxName11080); if (state.failed) return;
if ( state.backtracking==0 ) { name.setName((t!=null?t.getText():null), false); }
}
break;
case 2 :
// Parser.g:1508:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_idxName11105); if (state.failed) return;
if ( state.backtracking==0 ) { name.setName((t!=null?t.getText():null), true);}
}
break;
case 3 :
// Parser.g:1509:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_idxName11124);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { name.setName(k, false); }
}
break;
case 4 :
// Parser.g:1510:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_idxName11134); if (state.failed) return;
if ( state.backtracking==0 ) {addRecognitionError("Bind variables cannot be used for index names");}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "idxName"
// $ANTLR start "roleName"
// Parser.g:1513:1: roleName[RoleName name] : (t= IDENT |s= STRING_LITERAL |t= QUOTED_NAME |k= unreserved_keyword | QMARK );
public final void roleName(RoleName name) throws RecognitionException {
Token t=null;
Token s=null;
String k =null;
try {
// Parser.g:1514:5: (t= IDENT |s= STRING_LITERAL |t= QUOTED_NAME |k= unreserved_keyword | QMARK )
int alt213=5;
switch ( input.LA(1) ) {
case IDENT:
{
alt213=1;
}
break;
case STRING_LITERAL:
{
alt213=2;
}
break;
case QUOTED_NAME:
{
alt213=3;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CAST:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNT:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DISTINCT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_JSON:
case K_KEY:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MAXWRITETIME:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TTL:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
case K_WRITETIME:
{
alt213=4;
}
break;
case QMARK:
{
alt213=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 213, 0, input);
throw nvae;
}
switch (alt213) {
case 1 :
// Parser.g:1514:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_roleName11156); if (state.failed) return;
if ( state.backtracking==0 ) { name.setName((t!=null?t.getText():null), false); }
}
break;
case 2 :
// Parser.g:1515:7: s= STRING_LITERAL
{
s=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_roleName11181); if (state.failed) return;
if ( state.backtracking==0 ) { name.setName((s!=null?s.getText():null), true); }
}
break;
case 3 :
// Parser.g:1516:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_roleName11197); if (state.failed) return;
if ( state.backtracking==0 ) { name.setName((t!=null?t.getText():null), true); }
}
break;
case 4 :
// Parser.g:1517:7: k= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_roleName11216);
k=unreserved_keyword();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { name.setName(k, false); }
}
break;
case 5 :
// Parser.g:1518:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_roleName11226); if (state.failed) return;
if ( state.backtracking==0 ) {addRecognitionError("Bind variables cannot be used for role names");}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "roleName"
// $ANTLR start "constant"
// Parser.g:1521:1: constant returns [Constants.Literal constant] : (t= STRING_LITERAL |t= INTEGER |t= FLOAT |t= BOOLEAN |t= DURATION |t= UUID |t= HEXNUMBER | ( ( K_POSITIVE_NAN | K_NEGATIVE_NAN ) | K_POSITIVE_INFINITY | K_NEGATIVE_INFINITY ) );
public final Constants.Literal constant() throws RecognitionException {
Constants.Literal constant = null;
Token t=null;
try {
// Parser.g:1522:5: (t= STRING_LITERAL |t= INTEGER |t= FLOAT |t= BOOLEAN |t= DURATION |t= UUID |t= HEXNUMBER | ( ( K_POSITIVE_NAN | K_NEGATIVE_NAN ) | K_POSITIVE_INFINITY | K_NEGATIVE_INFINITY ) )
int alt215=8;
switch ( input.LA(1) ) {
case STRING_LITERAL:
{
alt215=1;
}
break;
case INTEGER:
{
alt215=2;
}
break;
case FLOAT:
{
alt215=3;
}
break;
case BOOLEAN:
{
alt215=4;
}
break;
case DURATION:
{
alt215=5;
}
break;
case UUID:
{
alt215=6;
}
break;
case HEXNUMBER:
{
alt215=7;
}
break;
case K_NEGATIVE_INFINITY:
case K_NEGATIVE_NAN:
case K_POSITIVE_INFINITY:
case K_POSITIVE_NAN:
{
alt215=8;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return constant;}
NoViableAltException nvae =
new NoViableAltException("", 215, 0, input);
throw nvae;
}
switch (alt215) {
case 1 :
// Parser.g:1522:7: t= STRING_LITERAL
{
t=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_constant11251); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.string((t!=null?t.getText():null)); }
}
break;
case 2 :
// Parser.g:1523:7: t= INTEGER
{
t=(Token)match(input,INTEGER,FOLLOW_INTEGER_in_constant11263); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.integer((t!=null?t.getText():null)); }
}
break;
case 3 :
// Parser.g:1524:7: t= FLOAT
{
t=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_constant11282); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.floatingPoint((t!=null?t.getText():null)); }
}
break;
case 4 :
// Parser.g:1525:7: t= BOOLEAN
{
t=(Token)match(input,BOOLEAN,FOLLOW_BOOLEAN_in_constant11303); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.bool((t!=null?t.getText():null)); }
}
break;
case 5 :
// Parser.g:1526:7: t= DURATION
{
t=(Token)match(input,DURATION,FOLLOW_DURATION_in_constant11322); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.duration((t!=null?t.getText():null));}
}
break;
case 6 :
// Parser.g:1527:7: t= UUID
{
t=(Token)match(input,UUID,FOLLOW_UUID_in_constant11340); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.uuid((t!=null?t.getText():null)); }
}
break;
case 7 :
// Parser.g:1528:7: t= HEXNUMBER
{
t=(Token)match(input,HEXNUMBER,FOLLOW_HEXNUMBER_in_constant11362); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.hex((t!=null?t.getText():null)); }
}
break;
case 8 :
// Parser.g:1529:7: ( ( K_POSITIVE_NAN | K_NEGATIVE_NAN ) | K_POSITIVE_INFINITY | K_NEGATIVE_INFINITY )
{
// Parser.g:1529:7: ( ( K_POSITIVE_NAN | K_NEGATIVE_NAN ) | K_POSITIVE_INFINITY | K_NEGATIVE_INFINITY )
int alt214=3;
switch ( input.LA(1) ) {
case K_NEGATIVE_NAN:
case K_POSITIVE_NAN:
{
alt214=1;
}
break;
case K_POSITIVE_INFINITY:
{
alt214=2;
}
break;
case K_NEGATIVE_INFINITY:
{
alt214=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return constant;}
NoViableAltException nvae =
new NoViableAltException("", 214, 0, input);
throw nvae;
}
switch (alt214) {
case 1 :
// Parser.g:1529:8: ( K_POSITIVE_NAN | K_NEGATIVE_NAN )
{
if ( input.LA(1)==K_NEGATIVE_NAN||input.LA(1)==K_POSITIVE_NAN ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return constant;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
if ( state.backtracking==0 ) { constant = Constants.Literal.floatingPoint("NaN"); }
}
break;
case 2 :
// Parser.g:1530:11: K_POSITIVE_INFINITY
{
match(input,K_POSITIVE_INFINITY,FOLLOW_K_POSITIVE_INFINITY_in_constant11398); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.floatingPoint("Infinity"); }
}
break;
case 3 :
// Parser.g:1531:11: K_NEGATIVE_INFINITY
{
match(input,K_NEGATIVE_INFINITY,FOLLOW_K_NEGATIVE_INFINITY_in_constant11413); if (state.failed) return constant;
if ( state.backtracking==0 ) { constant = Constants.Literal.floatingPoint("-Infinity"); }
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return constant;
}
// $ANTLR end "constant"
// $ANTLR start "fullMapLiteral"
// Parser.g:1534:1: fullMapLiteral returns [Maps.Literal map] : '{' (k1= term ':' v1= term ( ',' kn= term ':' vn= term )* )? '}' ;
public final Maps.Literal fullMapLiteral() throws RecognitionException {
Maps.Literal map = null;
Term.Raw k1 =null;
Term.Raw v1 =null;
Term.Raw kn =null;
Term.Raw vn =null;
List> m = new ArrayList>();
try {
// Parser.g:1537:5: ( '{' (k1= term ':' v1= term ( ',' kn= term ':' vn= term )* )? '}' )
// Parser.g:1537:7: '{' (k1= term ':' v1= term ( ',' kn= term ':' vn= term )* )? '}'
{
match(input,228,FOLLOW_228_in_fullMapLiteral11454); if (state.failed) return map;
// Parser.g:1537:11: (k1= term ':' v1= term ( ',' kn= term ':' vn= term )* )?
int alt217=2;
int LA217_0 = input.LA(1);
if ( (LA217_0==BOOLEAN||LA217_0==DURATION||LA217_0==FLOAT||LA217_0==HEXNUMBER||(LA217_0 >= IDENT && LA217_0 <= INTEGER)||LA217_0==K_ACCESS||(LA217_0 >= K_AGGREGATE && LA217_0 <= K_ALL)||LA217_0==K_AS||LA217_0==K_ASCII||(LA217_0 >= K_BIGINT && LA217_0 <= K_BOOLEAN)||(LA217_0 >= K_CALLED && LA217_0 <= K_CLUSTERING)||(LA217_0 >= K_COMPACT && LA217_0 <= K_COUNTER)||(LA217_0 >= K_CUSTOM && LA217_0 <= K_DEFAULT)||(LA217_0 >= K_DISTINCT && LA217_0 <= K_DOUBLE)||LA217_0==K_DURATION||(LA217_0 >= K_EXISTS && LA217_0 <= K_FLOAT)||LA217_0==K_FROZEN||(LA217_0 >= K_FUNCTION && LA217_0 <= K_FUNCTIONS)||(LA217_0 >= K_GROUP && LA217_0 <= K_IDENTITY)||(LA217_0 >= K_INET && LA217_0 <= K_INPUT)||(LA217_0 >= K_INT && LA217_0 <= K_INTERNALS)||(LA217_0 >= K_JSON && LA217_0 <= K_KEYS)||(LA217_0 >= K_KEYSPACES && LA217_0 <= K_LIKE)||(LA217_0 >= K_LIST && LA217_0 <= K_MASKED)||(LA217_0 >= K_MAXWRITETIME && LA217_0 <= K_MBEANS)||(LA217_0 >= K_NEGATIVE_INFINITY && LA217_0 <= K_NOLOGIN)||LA217_0==K_NOSUPERUSER||LA217_0==K_NULL||(LA217_0 >= K_ONLY && LA217_0 <= K_OPTIONS)||(LA217_0 >= K_PARTITION && LA217_0 <= K_POSITIVE_NAN)||(LA217_0 >= K_REPLACE && LA217_0 <= K_RETURNS)||(LA217_0 >= K_ROLE && LA217_0 <= K_ROLES)||LA217_0==K_SELECT_MASKED||(LA217_0 >= K_SFUNC && LA217_0 <= K_TINYINT)||(LA217_0 >= K_TOKEN && LA217_0 <= K_TRIGGER)||(LA217_0 >= K_TTL && LA217_0 <= K_TYPES)||(LA217_0 >= K_UNMASK && LA217_0 <= K_UNSET)||(LA217_0 >= K_USER && LA217_0 <= K_USERS)||(LA217_0 >= K_UUID && LA217_0 <= K_VECTOR)||LA217_0==K_WRITETIME||(LA217_0 >= QMARK && LA217_0 <= QUOTED_NAME)||LA217_0==STRING_LITERAL||LA217_0==UUID||LA217_0==208||LA217_0==213||LA217_0==217||LA217_0==224||LA217_0==228) ) {
alt217=1;
}
switch (alt217) {
case 1 :
// Parser.g:1537:13: k1= term ':' v1= term ( ',' kn= term ':' vn= term )*
{
pushFollow(FOLLOW_term_in_fullMapLiteral11460);
k1=term();
state._fsp--;
if (state.failed) return map;
match(input,217,FOLLOW_217_in_fullMapLiteral11462); if (state.failed) return map;
pushFollow(FOLLOW_term_in_fullMapLiteral11466);
v1=term();
state._fsp--;
if (state.failed) return map;
if ( state.backtracking==0 ) { m.add(Pair.create(k1, v1)); }
// Parser.g:1537:65: ( ',' kn= term ':' vn= term )*
loop216:
while (true) {
int alt216=2;
int LA216_0 = input.LA(1);
if ( (LA216_0==212) ) {
alt216=1;
}
switch (alt216) {
case 1 :
// Parser.g:1537:67: ',' kn= term ':' vn= term
{
match(input,212,FOLLOW_212_in_fullMapLiteral11472); if (state.failed) return map;
pushFollow(FOLLOW_term_in_fullMapLiteral11476);
kn=term();
state._fsp--;
if (state.failed) return map;
match(input,217,FOLLOW_217_in_fullMapLiteral11478); if (state.failed) return map;
pushFollow(FOLLOW_term_in_fullMapLiteral11482);
vn=term();
state._fsp--;
if (state.failed) return map;
if ( state.backtracking==0 ) { m.add(Pair.create(kn, vn)); }
}
break;
default :
break loop216;
}
}
}
break;
}
match(input,229,FOLLOW_229_in_fullMapLiteral11498); if (state.failed) return map;
}
if ( state.backtracking==0 ) { map = new Maps.Literal(m); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return map;
}
// $ANTLR end "fullMapLiteral"
// $ANTLR start "setOrMapLiteral"
// Parser.g:1541:1: setOrMapLiteral[Term.Raw t] returns [Term.Raw value] : (m= mapLiteral[t] |s= setLiteral[t] );
public final Term.Raw setOrMapLiteral(Term.Raw t) throws RecognitionException {
Term.Raw value = null;
Term.Raw m =null;
Term.Raw s =null;
try {
// Parser.g:1542:5: (m= mapLiteral[t] |s= setLiteral[t] )
int alt218=2;
int LA218_0 = input.LA(1);
if ( (LA218_0==217) ) {
alt218=1;
}
else if ( (LA218_0==212||LA218_0==229) ) {
alt218=2;
}
else {
if (state.backtracking>0) {state.failed=true; return value;}
NoViableAltException nvae =
new NoViableAltException("", 218, 0, input);
throw nvae;
}
switch (alt218) {
case 1 :
// Parser.g:1542:7: m= mapLiteral[t]
{
pushFollow(FOLLOW_mapLiteral_in_setOrMapLiteral11522);
m=mapLiteral(t);
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value =m; }
}
break;
case 2 :
// Parser.g:1543:7: s= setLiteral[t]
{
pushFollow(FOLLOW_setLiteral_in_setOrMapLiteral11535);
s=setLiteral(t);
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value =s; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "setOrMapLiteral"
// $ANTLR start "setLiteral"
// Parser.g:1546:1: setLiteral[Term.Raw t] returns [Term.Raw value] : ( ',' tn= term )* ;
public final Term.Raw setLiteral(Term.Raw t) throws RecognitionException {
Term.Raw value = null;
Term.Raw tn =null;
List s = new ArrayList(); s.add(t);
try {
// Parser.g:1549:5: ( ( ',' tn= term )* )
// Parser.g:1549:7: ( ',' tn= term )*
{
// Parser.g:1549:7: ( ',' tn= term )*
loop219:
while (true) {
int alt219=2;
int LA219_0 = input.LA(1);
if ( (LA219_0==212) ) {
alt219=1;
}
switch (alt219) {
case 1 :
// Parser.g:1549:9: ',' tn= term
{
match(input,212,FOLLOW_212_in_setLiteral11580); if (state.failed) return value;
pushFollow(FOLLOW_term_in_setLiteral11584);
tn=term();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { s.add(tn); }
}
break;
default :
break loop219;
}
}
}
if ( state.backtracking==0 ) { value = new Sets.Literal(s); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "setLiteral"
// $ANTLR start "mapLiteral"
// Parser.g:1552:1: mapLiteral[Term.Raw k] returns [Term.Raw value] : ':' v= term ( ',' kn= term ':' vn= term )* ;
public final Term.Raw mapLiteral(Term.Raw k) throws RecognitionException {
Term.Raw value = null;
Term.Raw v =null;
Term.Raw kn =null;
Term.Raw vn =null;
List> m = new ArrayList>();
try {
// Parser.g:1555:5: ( ':' v= term ( ',' kn= term ':' vn= term )* )
// Parser.g:1555:7: ':' v= term ( ',' kn= term ':' vn= term )*
{
match(input,217,FOLLOW_217_in_mapLiteral11629); if (state.failed) return value;
pushFollow(FOLLOW_term_in_mapLiteral11633);
v=term();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { m.add(Pair.create(k, v)); }
// Parser.g:1555:49: ( ',' kn= term ':' vn= term )*
loop220:
while (true) {
int alt220=2;
int LA220_0 = input.LA(1);
if ( (LA220_0==212) ) {
alt220=1;
}
switch (alt220) {
case 1 :
// Parser.g:1555:51: ',' kn= term ':' vn= term
{
match(input,212,FOLLOW_212_in_mapLiteral11639); if (state.failed) return value;
pushFollow(FOLLOW_term_in_mapLiteral11643);
kn=term();
state._fsp--;
if (state.failed) return value;
match(input,217,FOLLOW_217_in_mapLiteral11645); if (state.failed) return value;
pushFollow(FOLLOW_term_in_mapLiteral11649);
vn=term();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { m.add(Pair.create(kn, vn)); }
}
break;
default :
break loop220;
}
}
}
if ( state.backtracking==0 ) { value = new Maps.Literal(m); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "mapLiteral"
// $ANTLR start "collectionLiteral"
// Parser.g:1558:1: collectionLiteral returns [Term.Raw value] : (l= listLiteral | '{' t= term v= setOrMapLiteral[t] '}' | '{' '}' );
public final Term.Raw collectionLiteral() throws RecognitionException {
Term.Raw value = null;
Term.Raw l =null;
Term.Raw t =null;
Term.Raw v =null;
try {
// Parser.g:1559:5: (l= listLiteral | '{' t= term v= setOrMapLiteral[t] '}' | '{' '}' )
int alt221=3;
int LA221_0 = input.LA(1);
if ( (LA221_0==224) ) {
alt221=1;
}
else if ( (LA221_0==228) ) {
int LA221_2 = input.LA(2);
if ( (LA221_2==229) ) {
alt221=3;
}
else if ( (LA221_2==BOOLEAN||LA221_2==DURATION||LA221_2==FLOAT||LA221_2==HEXNUMBER||(LA221_2 >= IDENT && LA221_2 <= INTEGER)||LA221_2==K_ACCESS||(LA221_2 >= K_AGGREGATE && LA221_2 <= K_ALL)||LA221_2==K_AS||LA221_2==K_ASCII||(LA221_2 >= K_BIGINT && LA221_2 <= K_BOOLEAN)||(LA221_2 >= K_CALLED && LA221_2 <= K_CLUSTERING)||(LA221_2 >= K_COMPACT && LA221_2 <= K_COUNTER)||(LA221_2 >= K_CUSTOM && LA221_2 <= K_DEFAULT)||(LA221_2 >= K_DISTINCT && LA221_2 <= K_DOUBLE)||LA221_2==K_DURATION||(LA221_2 >= K_EXISTS && LA221_2 <= K_FLOAT)||LA221_2==K_FROZEN||(LA221_2 >= K_FUNCTION && LA221_2 <= K_FUNCTIONS)||(LA221_2 >= K_GROUP && LA221_2 <= K_IDENTITY)||(LA221_2 >= K_INET && LA221_2 <= K_INPUT)||(LA221_2 >= K_INT && LA221_2 <= K_INTERNALS)||(LA221_2 >= K_JSON && LA221_2 <= K_KEYS)||(LA221_2 >= K_KEYSPACES && LA221_2 <= K_LIKE)||(LA221_2 >= K_LIST && LA221_2 <= K_MASKED)||(LA221_2 >= K_MAXWRITETIME && LA221_2 <= K_MBEANS)||(LA221_2 >= K_NEGATIVE_INFINITY && LA221_2 <= K_NOLOGIN)||LA221_2==K_NOSUPERUSER||LA221_2==K_NULL||(LA221_2 >= K_ONLY && LA221_2 <= K_OPTIONS)||(LA221_2 >= K_PARTITION && LA221_2 <= K_POSITIVE_NAN)||(LA221_2 >= K_REPLACE && LA221_2 <= K_RETURNS)||(LA221_2 >= K_ROLE && LA221_2 <= K_ROLES)||LA221_2==K_SELECT_MASKED||(LA221_2 >= K_SFUNC && LA221_2 <= K_TINYINT)||(LA221_2 >= K_TOKEN && LA221_2 <= K_TRIGGER)||(LA221_2 >= K_TTL && LA221_2 <= K_TYPES)||(LA221_2 >= K_UNMASK && LA221_2 <= K_UNSET)||(LA221_2 >= K_USER && LA221_2 <= K_USERS)||(LA221_2 >= K_UUID && LA221_2 <= K_VECTOR)||LA221_2==K_WRITETIME||(LA221_2 >= QMARK && LA221_2 <= QUOTED_NAME)||LA221_2==STRING_LITERAL||LA221_2==UUID||LA221_2==208||LA221_2==213||LA221_2==217||LA221_2==224||LA221_2==228) ) {
alt221=2;
}
else {
if (state.backtracking>0) {state.failed=true; return value;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 221, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
if (state.backtracking>0) {state.failed=true; return value;}
NoViableAltException nvae =
new NoViableAltException("", 221, 0, input);
throw nvae;
}
switch (alt221) {
case 1 :
// Parser.g:1559:7: l= listLiteral
{
pushFollow(FOLLOW_listLiteral_in_collectionLiteral11677);
l=listLiteral();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = l; }
}
break;
case 2 :
// Parser.g:1560:7: '{' t= term v= setOrMapLiteral[t] '}'
{
match(input,228,FOLLOW_228_in_collectionLiteral11687); if (state.failed) return value;
pushFollow(FOLLOW_term_in_collectionLiteral11691);
t=term();
state._fsp--;
if (state.failed) return value;
pushFollow(FOLLOW_setOrMapLiteral_in_collectionLiteral11695);
v=setOrMapLiteral(t);
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = v; }
match(input,229,FOLLOW_229_in_collectionLiteral11700); if (state.failed) return value;
}
break;
case 3 :
// Parser.g:1563:7: '{' '}'
{
match(input,228,FOLLOW_228_in_collectionLiteral11718); if (state.failed) return value;
match(input,229,FOLLOW_229_in_collectionLiteral11720); if (state.failed) return value;
if ( state.backtracking==0 ) { value = new Sets.Literal(Collections.emptyList()); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "collectionLiteral"
// $ANTLR start "listLiteral"
// Parser.g:1566:1: listLiteral returns [Term.Raw value] : '[' (t1= term ( ',' tn= term )* )? ']' ;
public final Term.Raw listLiteral() throws RecognitionException {
Term.Raw value = null;
Term.Raw t1 =null;
Term.Raw tn =null;
List l = new ArrayList();
try {
// Parser.g:1569:5: ( '[' (t1= term ( ',' tn= term )* )? ']' )
// Parser.g:1569:7: '[' (t1= term ( ',' tn= term )* )? ']'
{
match(input,224,FOLLOW_224_in_listLiteral11761); if (state.failed) return value;
// Parser.g:1569:11: (t1= term ( ',' tn= term )* )?
int alt223=2;
int LA223_0 = input.LA(1);
if ( (LA223_0==BOOLEAN||LA223_0==DURATION||LA223_0==FLOAT||LA223_0==HEXNUMBER||(LA223_0 >= IDENT && LA223_0 <= INTEGER)||LA223_0==K_ACCESS||(LA223_0 >= K_AGGREGATE && LA223_0 <= K_ALL)||LA223_0==K_AS||LA223_0==K_ASCII||(LA223_0 >= K_BIGINT && LA223_0 <= K_BOOLEAN)||(LA223_0 >= K_CALLED && LA223_0 <= K_CLUSTERING)||(LA223_0 >= K_COMPACT && LA223_0 <= K_COUNTER)||(LA223_0 >= K_CUSTOM && LA223_0 <= K_DEFAULT)||(LA223_0 >= K_DISTINCT && LA223_0 <= K_DOUBLE)||LA223_0==K_DURATION||(LA223_0 >= K_EXISTS && LA223_0 <= K_FLOAT)||LA223_0==K_FROZEN||(LA223_0 >= K_FUNCTION && LA223_0 <= K_FUNCTIONS)||(LA223_0 >= K_GROUP && LA223_0 <= K_IDENTITY)||(LA223_0 >= K_INET && LA223_0 <= K_INPUT)||(LA223_0 >= K_INT && LA223_0 <= K_INTERNALS)||(LA223_0 >= K_JSON && LA223_0 <= K_KEYS)||(LA223_0 >= K_KEYSPACES && LA223_0 <= K_LIKE)||(LA223_0 >= K_LIST && LA223_0 <= K_MASKED)||(LA223_0 >= K_MAXWRITETIME && LA223_0 <= K_MBEANS)||(LA223_0 >= K_NEGATIVE_INFINITY && LA223_0 <= K_NOLOGIN)||LA223_0==K_NOSUPERUSER||LA223_0==K_NULL||(LA223_0 >= K_ONLY && LA223_0 <= K_OPTIONS)||(LA223_0 >= K_PARTITION && LA223_0 <= K_POSITIVE_NAN)||(LA223_0 >= K_REPLACE && LA223_0 <= K_RETURNS)||(LA223_0 >= K_ROLE && LA223_0 <= K_ROLES)||LA223_0==K_SELECT_MASKED||(LA223_0 >= K_SFUNC && LA223_0 <= K_TINYINT)||(LA223_0 >= K_TOKEN && LA223_0 <= K_TRIGGER)||(LA223_0 >= K_TTL && LA223_0 <= K_TYPES)||(LA223_0 >= K_UNMASK && LA223_0 <= K_UNSET)||(LA223_0 >= K_USER && LA223_0 <= K_USERS)||(LA223_0 >= K_UUID && LA223_0 <= K_VECTOR)||LA223_0==K_WRITETIME||(LA223_0 >= QMARK && LA223_0 <= QUOTED_NAME)||LA223_0==STRING_LITERAL||LA223_0==UUID||LA223_0==208||LA223_0==213||LA223_0==217||LA223_0==224||LA223_0==228) ) {
alt223=1;
}
switch (alt223) {
case 1 :
// Parser.g:1569:13: t1= term ( ',' tn= term )*
{
pushFollow(FOLLOW_term_in_listLiteral11767);
t1=term();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { l.add(t1); }
// Parser.g:1569:36: ( ',' tn= term )*
loop222:
while (true) {
int alt222=2;
int LA222_0 = input.LA(1);
if ( (LA222_0==212) ) {
alt222=1;
}
switch (alt222) {
case 1 :
// Parser.g:1569:38: ',' tn= term
{
match(input,212,FOLLOW_212_in_listLiteral11773); if (state.failed) return value;
pushFollow(FOLLOW_term_in_listLiteral11777);
tn=term();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { l.add(tn); }
}
break;
default :
break loop222;
}
}
}
break;
}
match(input,226,FOLLOW_226_in_listLiteral11787); if (state.failed) return value;
if ( state.backtracking==0 ) { value = new ArrayLiteral(l); }
}
if ( state.backtracking==0 ) {value = new ArrayLiteral(l);}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "listLiteral"
// $ANTLR start "usertypeLiteral"
// Parser.g:1572:1: usertypeLiteral returns [UserTypes.Literal ut] : '{' k1= fident ':' v1= term ( ',' kn= fident ':' vn= term )* '}' ;
public final UserTypes.Literal usertypeLiteral() throws RecognitionException {
UserTypes.Literal ut = null;
FieldIdentifier k1 =null;
Term.Raw v1 =null;
FieldIdentifier kn =null;
Term.Raw vn =null;
Map m = new HashMap<>();
try {
// Parser.g:1576:5: ( '{' k1= fident ':' v1= term ( ',' kn= fident ':' vn= term )* '}' )
// Parser.g:1576:7: '{' k1= fident ':' v1= term ( ',' kn= fident ':' vn= term )* '}'
{
match(input,228,FOLLOW_228_in_usertypeLiteral11831); if (state.failed) return ut;
pushFollow(FOLLOW_fident_in_usertypeLiteral11835);
k1=fident();
state._fsp--;
if (state.failed) return ut;
match(input,217,FOLLOW_217_in_usertypeLiteral11837); if (state.failed) return ut;
pushFollow(FOLLOW_term_in_usertypeLiteral11841);
v1=term();
state._fsp--;
if (state.failed) return ut;
if ( state.backtracking==0 ) { m.put(k1, v1); }
// Parser.g:1576:52: ( ',' kn= fident ':' vn= term )*
loop224:
while (true) {
int alt224=2;
int LA224_0 = input.LA(1);
if ( (LA224_0==212) ) {
alt224=1;
}
switch (alt224) {
case 1 :
// Parser.g:1576:54: ',' kn= fident ':' vn= term
{
match(input,212,FOLLOW_212_in_usertypeLiteral11847); if (state.failed) return ut;
pushFollow(FOLLOW_fident_in_usertypeLiteral11851);
kn=fident();
state._fsp--;
if (state.failed) return ut;
match(input,217,FOLLOW_217_in_usertypeLiteral11853); if (state.failed) return ut;
pushFollow(FOLLOW_term_in_usertypeLiteral11857);
vn=term();
state._fsp--;
if (state.failed) return ut;
if ( state.backtracking==0 ) { m.put(kn, vn); }
}
break;
default :
break loop224;
}
}
match(input,229,FOLLOW_229_in_usertypeLiteral11864); if (state.failed) return ut;
}
if ( state.backtracking==0 ) { ut = new UserTypes.Literal(m); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return ut;
}
// $ANTLR end "usertypeLiteral"
// $ANTLR start "tupleLiteral"
// Parser.g:1579:1: tupleLiteral returns [Tuples.Literal tt] : '(' t1= term ( ',' tn= term )* ')' ;
public final Tuples.Literal tupleLiteral() throws RecognitionException {
Tuples.Literal tt = null;
Term.Raw t1 =null;
Term.Raw tn =null;
List l = new ArrayList();
try {
// Parser.g:1582:5: ( '(' t1= term ( ',' tn= term )* ')' )
// Parser.g:1582:7: '(' t1= term ( ',' tn= term )* ')'
{
match(input,208,FOLLOW_208_in_tupleLiteral11901); if (state.failed) return tt;
pushFollow(FOLLOW_term_in_tupleLiteral11905);
t1=term();
state._fsp--;
if (state.failed) return tt;
if ( state.backtracking==0 ) { l.add(t1); }
// Parser.g:1582:34: ( ',' tn= term )*
loop225:
while (true) {
int alt225=2;
int LA225_0 = input.LA(1);
if ( (LA225_0==212) ) {
alt225=1;
}
switch (alt225) {
case 1 :
// Parser.g:1582:36: ',' tn= term
{
match(input,212,FOLLOW_212_in_tupleLiteral11911); if (state.failed) return tt;
pushFollow(FOLLOW_term_in_tupleLiteral11915);
tn=term();
state._fsp--;
if (state.failed) return tt;
if ( state.backtracking==0 ) { l.add(tn); }
}
break;
default :
break loop225;
}
}
match(input,209,FOLLOW_209_in_tupleLiteral11922); if (state.failed) return tt;
}
if ( state.backtracking==0 ) { tt = new Tuples.Literal(l); }
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return tt;
}
// $ANTLR end "tupleLiteral"
// $ANTLR start "value"
// Parser.g:1585:1: value returns [Term.Raw value] : (c= constant |l= collectionLiteral |u= usertypeLiteral |t= tupleLiteral | K_NULL | ':' id= noncol_ident | QMARK );
public final Term.Raw value() throws RecognitionException {
Term.Raw value = null;
Constants.Literal c =null;
Term.Raw l =null;
UserTypes.Literal u =null;
Tuples.Literal t =null;
ColumnIdentifier id =null;
try {
// Parser.g:1586:5: (c= constant |l= collectionLiteral |u= usertypeLiteral |t= tupleLiteral | K_NULL | ':' id= noncol_ident | QMARK )
int alt226=7;
alt226 = dfa226.predict(input);
switch (alt226) {
case 1 :
// Parser.g:1586:7: c= constant
{
pushFollow(FOLLOW_constant_in_value11945);
c=constant();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = c; }
}
break;
case 2 :
// Parser.g:1587:7: l= collectionLiteral
{
pushFollow(FOLLOW_collectionLiteral_in_value11967);
l=collectionLiteral();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = l; }
}
break;
case 3 :
// Parser.g:1588:7: u= usertypeLiteral
{
pushFollow(FOLLOW_usertypeLiteral_in_value11980);
u=usertypeLiteral();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = u; }
}
break;
case 4 :
// Parser.g:1589:7: t= tupleLiteral
{
pushFollow(FOLLOW_tupleLiteral_in_value11995);
t=tupleLiteral();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = t; }
}
break;
case 5 :
// Parser.g:1590:7: K_NULL
{
match(input,K_NULL,FOLLOW_K_NULL_in_value12011); if (state.failed) return value;
if ( state.backtracking==0 ) { value = Constants.NULL_LITERAL; }
}
break;
case 6 :
// Parser.g:1591:7: ':' id= noncol_ident
{
match(input,217,FOLLOW_217_in_value12035); if (state.failed) return value;
pushFollow(FOLLOW_noncol_ident_in_value12039);
id=noncol_ident();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = newBindVariables(id); }
}
break;
case 7 :
// Parser.g:1592:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_value12050); if (state.failed) return value;
if ( state.backtracking==0 ) { value = newBindVariables(null); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "value"
// $ANTLR start "intValue"
// Parser.g:1595:1: intValue returns [Term.Raw value] : (t= INTEGER | ':' id= noncol_ident | QMARK );
public final Term.Raw intValue() throws RecognitionException {
Term.Raw value = null;
Token t=null;
ColumnIdentifier id =null;
try {
// Parser.g:1596:5: (t= INTEGER | ':' id= noncol_ident | QMARK )
int alt227=3;
switch ( input.LA(1) ) {
case INTEGER:
{
alt227=1;
}
break;
case 217:
{
alt227=2;
}
break;
case QMARK:
{
alt227=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return value;}
NoViableAltException nvae =
new NoViableAltException("", 227, 0, input);
throw nvae;
}
switch (alt227) {
case 1 :
// Parser.g:1596:7: t= INTEGER
{
t=(Token)match(input,INTEGER,FOLLOW_INTEGER_in_intValue12090); if (state.failed) return value;
if ( state.backtracking==0 ) { value = Constants.Literal.integer((t!=null?t.getText():null)); }
}
break;
case 2 :
// Parser.g:1597:7: ':' id= noncol_ident
{
match(input,217,FOLLOW_217_in_intValue12104); if (state.failed) return value;
pushFollow(FOLLOW_noncol_ident_in_intValue12108);
id=noncol_ident();
state._fsp--;
if (state.failed) return value;
if ( state.backtracking==0 ) { value = newBindVariables(id); }
}
break;
case 3 :
// Parser.g:1598:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_intValue12119); if (state.failed) return value;
if ( state.backtracking==0 ) { value = newBindVariables(null); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return value;
}
// $ANTLR end "intValue"
// $ANTLR start "functionName"
// Parser.g:1601:1: functionName returns [FunctionName s] : (ks= keyspaceName '.' )? f= allowedFunctionName ;
public final FunctionName functionName() throws RecognitionException {
FunctionName s = null;
String ks =null;
String f =null;
try {
// Parser.g:1604:5: ( (ks= keyspaceName '.' )? f= allowedFunctionName )
// Parser.g:1604:7: (ks= keyspaceName '.' )? f= allowedFunctionName
{
// Parser.g:1604:7: (ks= keyspaceName '.' )?
int alt228=2;
alt228 = dfa228.predict(input);
switch (alt228) {
case 1 :
// Parser.g:1604:8: ks= keyspaceName '.'
{
pushFollow(FOLLOW_keyspaceName_in_functionName12165);
ks=keyspaceName();
state._fsp--;
if (state.failed) return s;
match(input,215,FOLLOW_215_in_functionName12167); if (state.failed) return s;
}
break;
}
pushFollow(FOLLOW_allowedFunctionName_in_functionName12173);
f=allowedFunctionName();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = f == null ? null : new FunctionName(ks, f); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "functionName"
// $ANTLR start "allowedFunctionName"
// Parser.g:1607:1: allowedFunctionName returns [String s] : (f= IDENT |f= QUOTED_NAME |u= unreserved_function_keyword | K_TOKEN | K_COUNT );
public final String allowedFunctionName() throws RecognitionException {
String s = null;
Token f=null;
String u =null;
try {
// Parser.g:1608:5: (f= IDENT |f= QUOTED_NAME |u= unreserved_function_keyword | K_TOKEN | K_COUNT )
int alt229=5;
switch ( input.LA(1) ) {
case IDENT:
{
alt229=1;
}
break;
case QUOTED_NAME:
{
alt229=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_ASCII:
case K_BIGINT:
case K_BLOB:
case K_BOOLEAN:
case K_CALLED:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_COUNTER:
case K_CUSTOM:
case K_DATACENTERS:
case K_DATE:
case K_DECIMAL:
case K_DEFAULT:
case K_DOUBLE:
case K_DURATION:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FLOAT:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INET:
case K_INITCOND:
case K_INPUT:
case K_INT:
case K_INTERNALS:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_SMALLINT:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TEXT:
case K_TIME:
case K_TIMESTAMP:
case K_TIMEUUID:
case K_TINYINT:
case K_TRIGGER:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_UUID:
case K_VALUES:
case K_VARCHAR:
case K_VARINT:
case K_VECTOR:
{
alt229=3;
}
break;
case K_TOKEN:
{
alt229=4;
}
break;
case K_COUNT:
{
alt229=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return s;}
NoViableAltException nvae =
new NoViableAltException("", 229, 0, input);
throw nvae;
}
switch (alt229) {
case 1 :
// Parser.g:1608:7: f= IDENT
{
f=(Token)match(input,IDENT,FOLLOW_IDENT_in_allowedFunctionName12200); if (state.failed) return s;
if ( state.backtracking==0 ) { s = (f!=null?f.getText():null).toLowerCase(); }
}
break;
case 2 :
// Parser.g:1609:7: f= QUOTED_NAME
{
f=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_allowedFunctionName12234); if (state.failed) return s;
if ( state.backtracking==0 ) { s = (f!=null?f.getText():null); }
}
break;
case 3 :
// Parser.g:1610:7: u= unreserved_function_keyword
{
pushFollow(FOLLOW_unreserved_function_keyword_in_allowedFunctionName12262);
u=unreserved_function_keyword();
state._fsp--;
if (state.failed) return s;
if ( state.backtracking==0 ) { s = u; }
}
break;
case 4 :
// Parser.g:1611:7: K_TOKEN
{
match(input,K_TOKEN,FOLLOW_K_TOKEN_in_allowedFunctionName12272); if (state.failed) return s;
if ( state.backtracking==0 ) { s = "token"; }
}
break;
case 5 :
// Parser.g:1612:7: K_COUNT
{
match(input,K_COUNT,FOLLOW_K_COUNT_in_allowedFunctionName12304); if (state.failed) return s;
if ( state.backtracking==0 ) { s = "count"; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return s;
}
// $ANTLR end "allowedFunctionName"
// $ANTLR start "function"
// Parser.g:1615:1: function returns [Term.Raw t] : (f= functionName '(' ')' |f= functionName '(' args= functionArgs ')' );
public final Term.Raw function() throws RecognitionException {
Term.Raw t = null;
FunctionName f =null;
List args =null;
try {
// Parser.g:1616:5: (f= functionName '(' ')' |f= functionName '(' args= functionArgs ')' )
int alt230=2;
alt230 = dfa230.predict(input);
switch (alt230) {
case 1 :
// Parser.g:1616:7: f= functionName '(' ')'
{
pushFollow(FOLLOW_functionName_in_function12351);
f=functionName();
state._fsp--;
if (state.failed) return t;
match(input,208,FOLLOW_208_in_function12353); if (state.failed) return t;
match(input,209,FOLLOW_209_in_function12355); if (state.failed) return t;
if ( state.backtracking==0 ) { t = new FunctionCall.Raw(f, Collections.emptyList()); }
}
break;
case 2 :
// Parser.g:1617:7: f= functionName '(' args= functionArgs ')'
{
pushFollow(FOLLOW_functionName_in_function12385);
f=functionName();
state._fsp--;
if (state.failed) return t;
match(input,208,FOLLOW_208_in_function12387); if (state.failed) return t;
pushFollow(FOLLOW_functionArgs_in_function12391);
args=functionArgs();
state._fsp--;
if (state.failed) return t;
match(input,209,FOLLOW_209_in_function12393); if (state.failed) return t;
if ( state.backtracking==0 ) { t = new FunctionCall.Raw(f, args); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return t;
}
// $ANTLR end "function"
// $ANTLR start "functionArgs"
// Parser.g:1620:1: functionArgs returns [List args] : t1= term ( ',' tn= term )* ;
public final List functionArgs() throws RecognitionException {
List args = null;
Term.Raw t1 =null;
Term.Raw tn =null;
args = new ArrayList();
try {
// Parser.g:1622:5: (t1= term ( ',' tn= term )* )
// Parser.g:1622:7: t1= term ( ',' tn= term )*
{
pushFollow(FOLLOW_term_in_functionArgs12426);
t1=term();
state._fsp--;
if (state.failed) return args;
if ( state.backtracking==0 ) {args.add(t1); }
// Parser.g:1622:32: ( ',' tn= term )*
loop231:
while (true) {
int alt231=2;
int LA231_0 = input.LA(1);
if ( (LA231_0==212) ) {
alt231=1;
}
switch (alt231) {
case 1 :
// Parser.g:1622:34: ',' tn= term
{
match(input,212,FOLLOW_212_in_functionArgs12432); if (state.failed) return args;
pushFollow(FOLLOW_term_in_functionArgs12436);
tn=term();
state._fsp--;
if (state.failed) return args;
if ( state.backtracking==0 ) { args.add(tn); }
}
break;
default :
break loop231;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return args;
}
// $ANTLR end "functionArgs"
// $ANTLR start "term"
// Parser.g:1625:1: term returns [Term.Raw term] : t= termAddition ;
public final Term.Raw term() throws RecognitionException {
Term.Raw term = null;
Term.Raw t =null;
try {
// Parser.g:1626:5: (t= termAddition )
// Parser.g:1626:7: t= termAddition
{
pushFollow(FOLLOW_termAddition_in_term12464);
t=termAddition();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) { term = t; }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return term;
}
// $ANTLR end "term"
// $ANTLR start "termAddition"
// Parser.g:1629:1: termAddition returns [Term.Raw term] : l= termMultiplication ( '+' r= termMultiplication | '-' r= termMultiplication )* ;
public final Term.Raw termAddition() throws RecognitionException {
Term.Raw term = null;
Term.Raw l =null;
Term.Raw r =null;
try {
// Parser.g:1630:5: (l= termMultiplication ( '+' r= termMultiplication | '-' r= termMultiplication )* )
// Parser.g:1630:9: l= termMultiplication ( '+' r= termMultiplication | '-' r= termMultiplication )*
{
pushFollow(FOLLOW_termMultiplication_in_termAddition12516);
l=termMultiplication();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) {term = l;}
// Parser.g:1631:9: ( '+' r= termMultiplication | '-' r= termMultiplication )*
loop232:
while (true) {
int alt232=3;
alt232 = dfa232.predict(input);
switch (alt232) {
case 1 :
// Parser.g:1631:11: '+' r= termMultiplication
{
match(input,210,FOLLOW_210_in_termAddition12532); if (state.failed) return term;
pushFollow(FOLLOW_termMultiplication_in_termAddition12536);
r=termMultiplication();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) {term = FunctionCall.Raw.newOperation('+', term, r);}
}
break;
case 2 :
// Parser.g:1632:11: '-' r= termMultiplication
{
match(input,213,FOLLOW_213_in_termAddition12550); if (state.failed) return term;
pushFollow(FOLLOW_termMultiplication_in_termAddition12554);
r=termMultiplication();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) {term = FunctionCall.Raw.newOperation('-', term, r);}
}
break;
default :
break loop232;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return term;
}
// $ANTLR end "termAddition"
// $ANTLR start "termMultiplication"
// Parser.g:1636:1: termMultiplication returns [Term.Raw term] : l= termGroup ( '\\*' r= termGroup | '/' r= termGroup | '%' r= termGroup )* ;
public final Term.Raw termMultiplication() throws RecognitionException {
Term.Raw term = null;
Term.Raw l =null;
Term.Raw r =null;
try {
// Parser.g:1637:5: (l= termGroup ( '\\*' r= termGroup | '/' r= termGroup | '%' r= termGroup )* )
// Parser.g:1637:9: l= termGroup ( '\\*' r= termGroup | '/' r= termGroup | '%' r= termGroup )*
{
pushFollow(FOLLOW_termGroup_in_termMultiplication12592);
l=termGroup();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) {term = l;}
// Parser.g:1638:9: ( '\\*' r= termGroup | '/' r= termGroup | '%' r= termGroup )*
loop233:
while (true) {
int alt233=4;
switch ( input.LA(1) ) {
case 225:
{
alt233=1;
}
break;
case 216:
{
alt233=2;
}
break;
case 207:
{
alt233=3;
}
break;
}
switch (alt233) {
case 1 :
// Parser.g:1638:11: '\\*' r= termGroup
{
match(input,225,FOLLOW_225_in_termMultiplication12608); if (state.failed) return term;
pushFollow(FOLLOW_termGroup_in_termMultiplication12612);
r=termGroup();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) {term = FunctionCall.Raw.newOperation('*', term, r);}
}
break;
case 2 :
// Parser.g:1639:11: '/' r= termGroup
{
match(input,216,FOLLOW_216_in_termMultiplication12626); if (state.failed) return term;
pushFollow(FOLLOW_termGroup_in_termMultiplication12630);
r=termGroup();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) {term = FunctionCall.Raw.newOperation('/', term, r);}
}
break;
case 3 :
// Parser.g:1640:11: '%' r= termGroup
{
match(input,207,FOLLOW_207_in_termMultiplication12644); if (state.failed) return term;
pushFollow(FOLLOW_termGroup_in_termMultiplication12648);
r=termGroup();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) {term = FunctionCall.Raw.newOperation('%', term, r);}
}
break;
default :
break loop233;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return term;
}
// $ANTLR end "termMultiplication"
// $ANTLR start "termGroup"
// Parser.g:1644:1: termGroup returns [Term.Raw term] : (t= simpleTerm | '-' t= simpleTerm );
public final Term.Raw termGroup() throws RecognitionException {
Term.Raw term = null;
Term.Raw t =null;
try {
// Parser.g:1645:5: (t= simpleTerm | '-' t= simpleTerm )
int alt234=2;
int LA234_0 = input.LA(1);
if ( (LA234_0==BOOLEAN||LA234_0==DURATION||LA234_0==FLOAT||LA234_0==HEXNUMBER||(LA234_0 >= IDENT && LA234_0 <= INTEGER)||LA234_0==K_ACCESS||(LA234_0 >= K_AGGREGATE && LA234_0 <= K_ALL)||LA234_0==K_AS||LA234_0==K_ASCII||(LA234_0 >= K_BIGINT && LA234_0 <= K_BOOLEAN)||(LA234_0 >= K_CALLED && LA234_0 <= K_CLUSTERING)||(LA234_0 >= K_COMPACT && LA234_0 <= K_COUNTER)||(LA234_0 >= K_CUSTOM && LA234_0 <= K_DEFAULT)||(LA234_0 >= K_DISTINCT && LA234_0 <= K_DOUBLE)||LA234_0==K_DURATION||(LA234_0 >= K_EXISTS && LA234_0 <= K_FLOAT)||LA234_0==K_FROZEN||(LA234_0 >= K_FUNCTION && LA234_0 <= K_FUNCTIONS)||(LA234_0 >= K_GROUP && LA234_0 <= K_IDENTITY)||(LA234_0 >= K_INET && LA234_0 <= K_INPUT)||(LA234_0 >= K_INT && LA234_0 <= K_INTERNALS)||(LA234_0 >= K_JSON && LA234_0 <= K_KEYS)||(LA234_0 >= K_KEYSPACES && LA234_0 <= K_LIKE)||(LA234_0 >= K_LIST && LA234_0 <= K_MASKED)||(LA234_0 >= K_MAXWRITETIME && LA234_0 <= K_MBEANS)||(LA234_0 >= K_NEGATIVE_INFINITY && LA234_0 <= K_NOLOGIN)||LA234_0==K_NOSUPERUSER||LA234_0==K_NULL||(LA234_0 >= K_ONLY && LA234_0 <= K_OPTIONS)||(LA234_0 >= K_PARTITION && LA234_0 <= K_POSITIVE_NAN)||(LA234_0 >= K_REPLACE && LA234_0 <= K_RETURNS)||(LA234_0 >= K_ROLE && LA234_0 <= K_ROLES)||LA234_0==K_SELECT_MASKED||(LA234_0 >= K_SFUNC && LA234_0 <= K_TINYINT)||(LA234_0 >= K_TOKEN && LA234_0 <= K_TRIGGER)||(LA234_0 >= K_TTL && LA234_0 <= K_TYPES)||(LA234_0 >= K_UNMASK && LA234_0 <= K_UNSET)||(LA234_0 >= K_USER && LA234_0 <= K_USERS)||(LA234_0 >= K_UUID && LA234_0 <= K_VECTOR)||LA234_0==K_WRITETIME||(LA234_0 >= QMARK && LA234_0 <= QUOTED_NAME)||LA234_0==STRING_LITERAL||LA234_0==UUID||LA234_0==208||LA234_0==217||LA234_0==224||LA234_0==228) ) {
alt234=1;
}
else if ( (LA234_0==213) ) {
alt234=2;
}
else {
if (state.backtracking>0) {state.failed=true; return term;}
NoViableAltException nvae =
new NoViableAltException("", 234, 0, input);
throw nvae;
}
switch (alt234) {
case 1 :
// Parser.g:1645:7: t= simpleTerm
{
pushFollow(FOLLOW_simpleTerm_in_termGroup12684);
t=simpleTerm();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) { term = t; }
}
break;
case 2 :
// Parser.g:1646:7: '-' t= simpleTerm
{
match(input,213,FOLLOW_213_in_termGroup12707); if (state.failed) return term;
pushFollow(FOLLOW_simpleTerm_in_termGroup12712);
t=simpleTerm();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) { term = FunctionCall.Raw.newNegation(t); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return term;
}
// $ANTLR end "termGroup"
// $ANTLR start "simpleTerm"
// Parser.g:1649:1: simpleTerm returns [Term.Raw term] : (v= value |f= function | '(' c= comparatorType ')' t= simpleTerm | K_CAST '(' t= simpleTerm K_AS n= native_type ')' );
public final Term.Raw simpleTerm() throws RecognitionException {
Term.Raw term = null;
Term.Raw v =null;
Term.Raw f =null;
CQL3Type.Raw c =null;
Term.Raw t =null;
CQL3Type n =null;
try {
// Parser.g:1650:5: (v= value |f= function | '(' c= comparatorType ')' t= simpleTerm | K_CAST '(' t= simpleTerm K_AS n= native_type ')' )
int alt235=4;
alt235 = dfa235.predict(input);
switch (alt235) {
case 1 :
// Parser.g:1650:7: v= value
{
pushFollow(FOLLOW_value_in_simpleTerm12745);
v=value();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) { term = v; }
}
break;
case 2 :
// Parser.g:1651:7: f= function
{
pushFollow(FOLLOW_function_in_simpleTerm12796);
f=function();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) { term = f; }
}
break;
case 3 :
// Parser.g:1652:7: '(' c= comparatorType ')' t= simpleTerm
{
match(input,208,FOLLOW_208_in_simpleTerm12842); if (state.failed) return term;
pushFollow(FOLLOW_comparatorType_in_simpleTerm12846);
c=comparatorType();
state._fsp--;
if (state.failed) return term;
match(input,209,FOLLOW_209_in_simpleTerm12848); if (state.failed) return term;
pushFollow(FOLLOW_simpleTerm_in_simpleTerm12852);
t=simpleTerm();
state._fsp--;
if (state.failed) return term;
if ( state.backtracking==0 ) { term = new TypeCast(c, t); }
}
break;
case 4 :
// Parser.g:1653:7: K_CAST '(' t= simpleTerm K_AS n= native_type ')'
{
match(input,K_CAST,FOLLOW_K_CAST_in_simpleTerm12871); if (state.failed) return term;
match(input,208,FOLLOW_208_in_simpleTerm12873); if (state.failed) return term;
pushFollow(FOLLOW_simpleTerm_in_simpleTerm12877);
t=simpleTerm();
state._fsp--;
if (state.failed) return term;
match(input,K_AS,FOLLOW_K_AS_in_simpleTerm12879); if (state.failed) return term;
pushFollow(FOLLOW_native_type_in_simpleTerm12883);
n=native_type();
state._fsp--;
if (state.failed) return term;
match(input,209,FOLLOW_209_in_simpleTerm12885); if (state.failed) return term;
if ( state.backtracking==0 ) { term = FunctionCall.Raw.newCast(t, n); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return term;
}
// $ANTLR end "simpleTerm"
// $ANTLR start "columnOperation"
// Parser.g:1656:1: columnOperation[List> operations] : key= cident columnOperationDifferentiator[operations, key] ;
public final void columnOperation(List> operations) throws RecognitionException {
ColumnIdentifier key =null;
try {
// Parser.g:1657:5: (key= cident columnOperationDifferentiator[operations, key] )
// Parser.g:1657:7: key= cident columnOperationDifferentiator[operations, key]
{
pushFollow(FOLLOW_cident_in_columnOperation12907);
key=cident();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_columnOperationDifferentiator_in_columnOperation12909);
columnOperationDifferentiator(operations, key);
state._fsp--;
if (state.failed) return;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "columnOperation"
// $ANTLR start "columnOperationDifferentiator"
// Parser.g:1660:1: columnOperationDifferentiator[List> operations, ColumnIdentifier key] : ( '=' normalColumnOperation[operations, key] | shorthandColumnOperation[operations, key] | '[' k= term ']' collectionColumnOperation[operations, key, k] | '.' field= fident udtColumnOperation[operations, key, field] );
public final void columnOperationDifferentiator(List> operations, ColumnIdentifier key) throws RecognitionException {
Term.Raw k =null;
FieldIdentifier field =null;
try {
// Parser.g:1661:5: ( '=' normalColumnOperation[operations, key] | shorthandColumnOperation[operations, key] | '[' k= term ']' collectionColumnOperation[operations, key, k] | '.' field= fident udtColumnOperation[operations, key, field] )
int alt236=4;
switch ( input.LA(1) ) {
case 221:
{
alt236=1;
}
break;
case 211:
case 214:
{
alt236=2;
}
break;
case 224:
{
alt236=3;
}
break;
case 215:
{
alt236=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 236, 0, input);
throw nvae;
}
switch (alt236) {
case 1 :
// Parser.g:1661:7: '=' normalColumnOperation[operations, key]
{
match(input,221,FOLLOW_221_in_columnOperationDifferentiator12928); if (state.failed) return;
pushFollow(FOLLOW_normalColumnOperation_in_columnOperationDifferentiator12930);
normalColumnOperation(operations, key);
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
// Parser.g:1662:7: shorthandColumnOperation[operations, key]
{
pushFollow(FOLLOW_shorthandColumnOperation_in_columnOperationDifferentiator12939);
shorthandColumnOperation(operations, key);
state._fsp--;
if (state.failed) return;
}
break;
case 3 :
// Parser.g:1663:7: '[' k= term ']' collectionColumnOperation[operations, key, k]
{
match(input,224,FOLLOW_224_in_columnOperationDifferentiator12948); if (state.failed) return;
pushFollow(FOLLOW_term_in_columnOperationDifferentiator12952);
k=term();
state._fsp--;
if (state.failed) return;
match(input,226,FOLLOW_226_in_columnOperationDifferentiator12954); if (state.failed) return;
pushFollow(FOLLOW_collectionColumnOperation_in_columnOperationDifferentiator12956);
collectionColumnOperation(operations, key, k);
state._fsp--;
if (state.failed) return;
}
break;
case 4 :
// Parser.g:1664:7: '.' field= fident udtColumnOperation[operations, key, field]
{
match(input,215,FOLLOW_215_in_columnOperationDifferentiator12965); if (state.failed) return;
pushFollow(FOLLOW_fident_in_columnOperationDifferentiator12969);
field=fident();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_udtColumnOperation_in_columnOperationDifferentiator12971);
udtColumnOperation(operations, key, field);
state._fsp--;
if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "columnOperationDifferentiator"
// $ANTLR start "normalColumnOperation"
// Parser.g:1667:1: normalColumnOperation[List> operations, ColumnIdentifier key] : (t= term ( '+' c= cident )? |c= cident sig= ( '+' | '-' ) t= term |c= cident i= INTEGER );
public final void normalColumnOperation(List> operations, ColumnIdentifier key) throws RecognitionException {
Token sig=null;
Token i=null;
Term.Raw t =null;
ColumnIdentifier c =null;
try {
// Parser.g:1668:5: (t= term ( '+' c= cident )? |c= cident sig= ( '+' | '-' ) t= term |c= cident i= INTEGER )
int alt238=3;
alt238 = dfa238.predict(input);
switch (alt238) {
case 1 :
// Parser.g:1668:7: t= term ( '+' c= cident )?
{
pushFollow(FOLLOW_term_in_normalColumnOperation12992);
t=term();
state._fsp--;
if (state.failed) return;
// Parser.g:1668:14: ( '+' c= cident )?
int alt237=2;
int LA237_0 = input.LA(1);
if ( (LA237_0==210) ) {
alt237=1;
}
switch (alt237) {
case 1 :
// Parser.g:1668:15: '+' c= cident
{
match(input,210,FOLLOW_210_in_normalColumnOperation12995); if (state.failed) return;
pushFollow(FOLLOW_cident_in_normalColumnOperation12999);
c=cident();
state._fsp--;
if (state.failed) return;
}
break;
}
if ( state.backtracking==0 ) {
if (c == null)
{
addRawUpdate(operations, key, new Operation.SetValue(t));
}
else
{
if (!key.equals(c))
addRecognitionError("Only expressions of the form X = + X are supported.");
addRawUpdate(operations, key, new Operation.Prepend(t));
}
}
}
break;
case 2 :
// Parser.g:1681:7: c= cident sig= ( '+' | '-' ) t= term
{
pushFollow(FOLLOW_cident_in_normalColumnOperation13020);
c=cident();
state._fsp--;
if (state.failed) return;
sig=input.LT(1);
if ( input.LA(1)==210||input.LA(1)==213 ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_term_in_normalColumnOperation13034);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) {
if (!key.equals(c))
addRecognitionError("Only expressions of the form X = X " + (sig!=null?sig.getText():null) + " are supported.");
addRawUpdate(operations, key, (sig!=null?sig.getText():null).equals("+") ? new Operation.Addition(t) : new Operation.Substraction(t));
}
}
break;
case 3 :
// Parser.g:1687:7: c= cident i= INTEGER
{
pushFollow(FOLLOW_cident_in_normalColumnOperation13052);
c=cident();
state._fsp--;
if (state.failed) return;
i=(Token)match(input,INTEGER,FOLLOW_INTEGER_in_normalColumnOperation13056); if (state.failed) return;
if ( state.backtracking==0 ) {
// Note that this production *is* necessary because X = X - 3 will in fact be lexed as [ X, '=', X, INTEGER].
if (!key.equals(c))
// We don't yet allow a '+' in front of an integer, but we could in the future really, so let's be future-proof in our error message
addRecognitionError("Only expressions of the form X = X " + ((i!=null?i.getText():null).charAt(0) == '-' ? '-' : '+') + " are supported.");
addRawUpdate(operations, key, new Operation.Addition(Constants.Literal.integer((i!=null?i.getText():null))));
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "normalColumnOperation"
// $ANTLR start "shorthandColumnOperation"
// Parser.g:1697:1: shorthandColumnOperation[List> operations, ColumnIdentifier key] : sig= ( '+=' | '-=' ) t= term ;
public final void shorthandColumnOperation(List> operations, ColumnIdentifier key) throws RecognitionException {
Token sig=null;
Term.Raw t =null;
try {
// Parser.g:1698:5: (sig= ( '+=' | '-=' ) t= term )
// Parser.g:1698:7: sig= ( '+=' | '-=' ) t= term
{
sig=input.LT(1);
if ( input.LA(1)==211||input.LA(1)==214 ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_term_in_shorthandColumnOperation13094);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) {
addRawUpdate(operations, key, (sig!=null?sig.getText():null).equals("+=") ? new Operation.Addition(t) : new Operation.Substraction(t));
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "shorthandColumnOperation"
// $ANTLR start "collectionColumnOperation"
// Parser.g:1704:1: collectionColumnOperation[List> operations, ColumnIdentifier key, Term.Raw k] : '=' t= term ;
public final void collectionColumnOperation(List> operations, ColumnIdentifier key, Term.Raw k) throws RecognitionException {
Term.Raw t =null;
try {
// Parser.g:1705:5: ( '=' t= term )
// Parser.g:1705:7: '=' t= term
{
match(input,221,FOLLOW_221_in_collectionColumnOperation13120); if (state.failed) return;
pushFollow(FOLLOW_term_in_collectionColumnOperation13124);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) {
addRawUpdate(operations, key, new Operation.SetElement(k, t));
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "collectionColumnOperation"
// $ANTLR start "udtColumnOperation"
// Parser.g:1711:1: udtColumnOperation[List> operations, ColumnIdentifier key, FieldIdentifier field] : '=' t= term ;
public final void udtColumnOperation(List> operations, ColumnIdentifier key, FieldIdentifier field) throws RecognitionException {
Term.Raw t =null;
try {
// Parser.g:1712:5: ( '=' t= term )
// Parser.g:1712:7: '=' t= term
{
match(input,221,FOLLOW_221_in_udtColumnOperation13150); if (state.failed) return;
pushFollow(FOLLOW_term_in_udtColumnOperation13154);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) {
addRawUpdate(operations, key, new Operation.SetField(field, t));
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "udtColumnOperation"
// $ANTLR start "columnCondition"
// Parser.g:1718:1: columnCondition[List> conditions] : key= cident (op= relationType t= term |op= containsOperator t= term | K_IN (values= singleColumnInValues |marker= inMarker ) | '[' element= term ']' (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) | '.' field= fident (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) ) ;
public final void columnCondition(List> conditions) throws RecognitionException {
ColumnIdentifier key =null;
Operator op =null;
Term.Raw t =null;
List values =null;
AbstractMarker.INRaw marker =null;
Term.Raw element =null;
FieldIdentifier field =null;
try {
// Parser.g:1720:5: (key= cident (op= relationType t= term |op= containsOperator t= term | K_IN (values= singleColumnInValues |marker= inMarker ) | '[' element= term ']' (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) | '.' field= fident (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) ) )
// Parser.g:1720:7: key= cident (op= relationType t= term |op= containsOperator t= term | K_IN (values= singleColumnInValues |marker= inMarker ) | '[' element= term ']' (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) | '.' field= fident (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) )
{
pushFollow(FOLLOW_cident_in_columnCondition13187);
key=cident();
state._fsp--;
if (state.failed) return;
// Parser.g:1721:9: (op= relationType t= term |op= containsOperator t= term | K_IN (values= singleColumnInValues |marker= inMarker ) | '[' element= term ']' (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) | '.' field= fident (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) ) )
int alt244=5;
switch ( input.LA(1) ) {
case 206:
case 219:
case 220:
case 221:
case 222:
case 223:
{
alt244=1;
}
break;
case K_CONTAINS:
{
alt244=2;
}
break;
case K_IN:
{
alt244=3;
}
break;
case 224:
{
alt244=4;
}
break;
case 215:
{
alt244=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 244, 0, input);
throw nvae;
}
switch (alt244) {
case 1 :
// Parser.g:1721:11: op= relationType t= term
{
pushFollow(FOLLOW_relationType_in_columnCondition13201);
op=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_columnCondition13205);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.simpleCondition(t, op))); }
}
break;
case 2 :
// Parser.g:1722:11: op= containsOperator t= term
{
pushFollow(FOLLOW_containsOperator_in_columnCondition13221);
op=containsOperator();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_columnCondition13225);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.simpleCondition(t, op))); }
}
break;
case 3 :
// Parser.g:1723:11: K_IN (values= singleColumnInValues |marker= inMarker )
{
match(input,K_IN,FOLLOW_K_IN_in_columnCondition13239); if (state.failed) return;
// Parser.g:1724:13: (values= singleColumnInValues |marker= inMarker )
int alt239=2;
int LA239_0 = input.LA(1);
if ( (LA239_0==208) ) {
alt239=1;
}
else if ( (LA239_0==QMARK||LA239_0==217) ) {
alt239=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 239, 0, input);
throw nvae;
}
switch (alt239) {
case 1 :
// Parser.g:1724:15: values= singleColumnInValues
{
pushFollow(FOLLOW_singleColumnInValues_in_columnCondition13257);
values=singleColumnInValues();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.simpleInCondition(values))); }
}
break;
case 2 :
// Parser.g:1725:15: marker= inMarker
{
pushFollow(FOLLOW_inMarker_in_columnCondition13277);
marker=inMarker();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.simpleInCondition(marker))); }
}
break;
}
}
break;
case 4 :
// Parser.g:1727:11: '[' element= term ']' (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) )
{
match(input,224,FOLLOW_224_in_columnCondition13305); if (state.failed) return;
pushFollow(FOLLOW_term_in_columnCondition13309);
element=term();
state._fsp--;
if (state.failed) return;
match(input,226,FOLLOW_226_in_columnCondition13311); if (state.failed) return;
// Parser.g:1728:13: (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) )
int alt241=2;
int LA241_0 = input.LA(1);
if ( (LA241_0==206||(LA241_0 >= 219 && LA241_0 <= 223)) ) {
alt241=1;
}
else if ( (LA241_0==K_IN) ) {
alt241=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 241, 0, input);
throw nvae;
}
switch (alt241) {
case 1 :
// Parser.g:1728:15: op= relationType t= term
{
pushFollow(FOLLOW_relationType_in_columnCondition13329);
op=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_columnCondition13333);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.collectionCondition(t, element, op))); }
}
break;
case 2 :
// Parser.g:1729:15: K_IN (values= singleColumnInValues |marker= inMarker )
{
match(input,K_IN,FOLLOW_K_IN_in_columnCondition13351); if (state.failed) return;
// Parser.g:1730:17: (values= singleColumnInValues |marker= inMarker )
int alt240=2;
int LA240_0 = input.LA(1);
if ( (LA240_0==208) ) {
alt240=1;
}
else if ( (LA240_0==QMARK||LA240_0==217) ) {
alt240=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 240, 0, input);
throw nvae;
}
switch (alt240) {
case 1 :
// Parser.g:1730:19: values= singleColumnInValues
{
pushFollow(FOLLOW_singleColumnInValues_in_columnCondition13373);
values=singleColumnInValues();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.collectionInCondition(element, values))); }
}
break;
case 2 :
// Parser.g:1731:19: marker= inMarker
{
pushFollow(FOLLOW_inMarker_in_columnCondition13397);
marker=inMarker();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.collectionInCondition(element, marker))); }
}
break;
}
}
break;
}
}
break;
case 5 :
// Parser.g:1734:11: '.' field= fident (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) )
{
match(input,215,FOLLOW_215_in_columnCondition13443); if (state.failed) return;
pushFollow(FOLLOW_fident_in_columnCondition13447);
field=fident();
state._fsp--;
if (state.failed) return;
// Parser.g:1735:13: (op= relationType t= term | K_IN (values= singleColumnInValues |marker= inMarker ) )
int alt243=2;
int LA243_0 = input.LA(1);
if ( (LA243_0==206||(LA243_0 >= 219 && LA243_0 <= 223)) ) {
alt243=1;
}
else if ( (LA243_0==K_IN) ) {
alt243=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 243, 0, input);
throw nvae;
}
switch (alt243) {
case 1 :
// Parser.g:1735:15: op= relationType t= term
{
pushFollow(FOLLOW_relationType_in_columnCondition13465);
op=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_columnCondition13469);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.udtFieldCondition(t, field, op))); }
}
break;
case 2 :
// Parser.g:1736:15: K_IN (values= singleColumnInValues |marker= inMarker )
{
match(input,K_IN,FOLLOW_K_IN_in_columnCondition13487); if (state.failed) return;
// Parser.g:1737:17: (values= singleColumnInValues |marker= inMarker )
int alt242=2;
int LA242_0 = input.LA(1);
if ( (LA242_0==208) ) {
alt242=1;
}
else if ( (LA242_0==QMARK||LA242_0==217) ) {
alt242=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 242, 0, input);
throw nvae;
}
switch (alt242) {
case 1 :
// Parser.g:1737:19: values= singleColumnInValues
{
pushFollow(FOLLOW_singleColumnInValues_in_columnCondition13509);
values=singleColumnInValues();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.udtFieldInCondition(field, values))); }
}
break;
case 2 :
// Parser.g:1738:19: marker= inMarker
{
pushFollow(FOLLOW_inMarker_in_columnCondition13533);
marker=inMarker();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { conditions.add(Pair.create(key, ColumnCondition.Raw.udtFieldInCondition(field, marker))); }
}
break;
}
}
break;
}
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "columnCondition"
// $ANTLR start "properties"
// Parser.g:1744:1: properties[PropertyDefinitions props] : property[props] ( K_AND property[props] )* ;
public final void properties(PropertyDefinitions props) throws RecognitionException {
try {
// Parser.g:1745:5: ( property[props] ( K_AND property[props] )* )
// Parser.g:1745:7: property[props] ( K_AND property[props] )*
{
pushFollow(FOLLOW_property_in_properties13595);
property(props);
state._fsp--;
if (state.failed) return;
// Parser.g:1745:23: ( K_AND property[props] )*
loop245:
while (true) {
int alt245=2;
int LA245_0 = input.LA(1);
if ( (LA245_0==K_AND) ) {
alt245=1;
}
switch (alt245) {
case 1 :
// Parser.g:1745:24: K_AND property[props]
{
match(input,K_AND,FOLLOW_K_AND_in_properties13599); if (state.failed) return;
pushFollow(FOLLOW_property_in_properties13601);
property(props);
state._fsp--;
if (state.failed) return;
}
break;
default :
break loop245;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "properties"
// $ANTLR start "property"
// Parser.g:1748:1: property[PropertyDefinitions props] : (k= noncol_ident '=' simple= propertyValue |k= noncol_ident '=' map= fullMapLiteral );
public final void property(PropertyDefinitions props) throws RecognitionException {
ColumnIdentifier k =null;
String simple =null;
Maps.Literal map =null;
try {
// Parser.g:1749:5: (k= noncol_ident '=' simple= propertyValue |k= noncol_ident '=' map= fullMapLiteral )
int alt246=2;
alt246 = dfa246.predict(input);
switch (alt246) {
case 1 :
// Parser.g:1749:7: k= noncol_ident '=' simple= propertyValue
{
pushFollow(FOLLOW_noncol_ident_in_property13624);
k=noncol_ident();
state._fsp--;
if (state.failed) return;
match(input,221,FOLLOW_221_in_property13626); if (state.failed) return;
pushFollow(FOLLOW_propertyValue_in_property13630);
simple=propertyValue();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { try { props.addProperty(k.toString(), simple); } catch (SyntaxException e) { addRecognitionError(e.getMessage()); } }
}
break;
case 2 :
// Parser.g:1750:7: k= noncol_ident '=' map= fullMapLiteral
{
pushFollow(FOLLOW_noncol_ident_in_property13642);
k=noncol_ident();
state._fsp--;
if (state.failed) return;
match(input,221,FOLLOW_221_in_property13644); if (state.failed) return;
pushFollow(FOLLOW_fullMapLiteral_in_property13648);
map=fullMapLiteral();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { try { props.addProperty(k.toString(), convertPropertyMap(map)); } catch (SyntaxException e) { addRecognitionError(e.getMessage()); } }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "property"
// $ANTLR start "propertyValue"
// Parser.g:1753:1: propertyValue returns [String str] : (c= constant |u= unreserved_keyword );
public final String propertyValue() throws RecognitionException {
String str = null;
Constants.Literal c =null;
String u =null;
try {
// Parser.g:1754:5: (c= constant |u= unreserved_keyword )
int alt247=2;
int LA247_0 = input.LA(1);
if ( (LA247_0==BOOLEAN||LA247_0==DURATION||LA247_0==FLOAT||LA247_0==HEXNUMBER||LA247_0==INTEGER||(LA247_0 >= K_NEGATIVE_INFINITY && LA247_0 <= K_NEGATIVE_NAN)||(LA247_0 >= K_POSITIVE_INFINITY && LA247_0 <= K_POSITIVE_NAN)||LA247_0==STRING_LITERAL||LA247_0==UUID) ) {
alt247=1;
}
else if ( (LA247_0==K_ACCESS||(LA247_0 >= K_AGGREGATE && LA247_0 <= K_ALL)||LA247_0==K_AS||LA247_0==K_ASCII||(LA247_0 >= K_BIGINT && LA247_0 <= K_BOOLEAN)||(LA247_0 >= K_CALLED && LA247_0 <= K_CLUSTERING)||(LA247_0 >= K_COMPACT && LA247_0 <= K_COUNTER)||(LA247_0 >= K_CUSTOM && LA247_0 <= K_DEFAULT)||(LA247_0 >= K_DISTINCT && LA247_0 <= K_DOUBLE)||LA247_0==K_DURATION||(LA247_0 >= K_EXISTS && LA247_0 <= K_FLOAT)||LA247_0==K_FROZEN||(LA247_0 >= K_FUNCTION && LA247_0 <= K_FUNCTIONS)||(LA247_0 >= K_GROUP && LA247_0 <= K_IDENTITY)||(LA247_0 >= K_INET && LA247_0 <= K_INPUT)||(LA247_0 >= K_INT && LA247_0 <= K_INTERNALS)||(LA247_0 >= K_JSON && LA247_0 <= K_KEYS)||(LA247_0 >= K_KEYSPACES && LA247_0 <= K_LIKE)||(LA247_0 >= K_LIST && LA247_0 <= K_MASKED)||(LA247_0 >= K_MAXWRITETIME && LA247_0 <= K_MBEANS)||LA247_0==K_NOLOGIN||LA247_0==K_NOSUPERUSER||(LA247_0 >= K_ONLY && LA247_0 <= K_OPTIONS)||(LA247_0 >= K_PARTITION && LA247_0 <= K_PERMISSIONS)||(LA247_0 >= K_REPLACE && LA247_0 <= K_RETURNS)||(LA247_0 >= K_ROLE && LA247_0 <= K_ROLES)||LA247_0==K_SELECT_MASKED||(LA247_0 >= K_SFUNC && LA247_0 <= K_TINYINT)||LA247_0==K_TRIGGER||(LA247_0 >= K_TTL && LA247_0 <= K_TYPES)||(LA247_0 >= K_UNMASK && LA247_0 <= K_UNSET)||(LA247_0 >= K_USER && LA247_0 <= K_USERS)||(LA247_0 >= K_UUID && LA247_0 <= K_VECTOR)||LA247_0==K_WRITETIME) ) {
alt247=2;
}
else {
if (state.backtracking>0) {state.failed=true; return str;}
NoViableAltException nvae =
new NoViableAltException("", 247, 0, input);
throw nvae;
}
switch (alt247) {
case 1 :
// Parser.g:1754:7: c= constant
{
pushFollow(FOLLOW_constant_in_propertyValue13673);
c=constant();
state._fsp--;
if (state.failed) return str;
if ( state.backtracking==0 ) { str = c.getRawText(); }
}
break;
case 2 :
// Parser.g:1755:7: u= unreserved_keyword
{
pushFollow(FOLLOW_unreserved_keyword_in_propertyValue13695);
u=unreserved_keyword();
state._fsp--;
if (state.failed) return str;
if ( state.backtracking==0 ) { str = u; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return str;
}
// $ANTLR end "propertyValue"
// $ANTLR start "relationType"
// Parser.g:1758:1: relationType returns [Operator op] : ( '=' | '<' | '<=' | '>' | '>=' | '!=' );
public final Operator relationType() throws RecognitionException {
Operator op = null;
try {
// Parser.g:1759:5: ( '=' | '<' | '<=' | '>' | '>=' | '!=' )
int alt248=6;
switch ( input.LA(1) ) {
case 221:
{
alt248=1;
}
break;
case 219:
{
alt248=2;
}
break;
case 220:
{
alt248=3;
}
break;
case 222:
{
alt248=4;
}
break;
case 223:
{
alt248=5;
}
break;
case 206:
{
alt248=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return op;}
NoViableAltException nvae =
new NoViableAltException("", 248, 0, input);
throw nvae;
}
switch (alt248) {
case 1 :
// Parser.g:1759:7: '='
{
match(input,221,FOLLOW_221_in_relationType13718); if (state.failed) return op;
if ( state.backtracking==0 ) { op = Operator.EQ; }
}
break;
case 2 :
// Parser.g:1760:7: '<'
{
match(input,219,FOLLOW_219_in_relationType13729); if (state.failed) return op;
if ( state.backtracking==0 ) { op = Operator.LT; }
}
break;
case 3 :
// Parser.g:1761:7: '<='
{
match(input,220,FOLLOW_220_in_relationType13740); if (state.failed) return op;
if ( state.backtracking==0 ) { op = Operator.LTE; }
}
break;
case 4 :
// Parser.g:1762:7: '>'
{
match(input,222,FOLLOW_222_in_relationType13750); if (state.failed) return op;
if ( state.backtracking==0 ) { op = Operator.GT; }
}
break;
case 5 :
// Parser.g:1763:7: '>='
{
match(input,223,FOLLOW_223_in_relationType13761); if (state.failed) return op;
if ( state.backtracking==0 ) { op = Operator.GTE; }
}
break;
case 6 :
// Parser.g:1764:7: '!='
{
match(input,206,FOLLOW_206_in_relationType13771); if (state.failed) return op;
if ( state.backtracking==0 ) { op = Operator.NEQ; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return op;
}
// $ANTLR end "relationType"
// $ANTLR start "relation"
// Parser.g:1767:1: relation[WhereClause.Builder clauses] : (name= cident type= relationType t= term |name= cident K_LIKE t= term |name= cident K_IS K_NOT K_NULL | K_TOKEN l= tupleOfIdentifiers type= relationType t= term |name= cident K_IN marker= inMarker |name= cident K_IN inValues= singleColumnInValues |name= cident rt= containsOperator t= term |name= cident '[' key= term ']' type= relationType t= term |ids= tupleOfIdentifiers ( K_IN ( '(' ')' |tupleInMarker= inMarkerForTuple |literals= tupleOfTupleLiterals |markers= tupleOfMarkersForTuples ) |type= relationType literal= tupleLiteral |type= relationType tupleMarker= markerForTuple ) | '(' relation[$clauses] ')' );
public final void relation(WhereClause.Builder clauses) throws RecognitionException {
ColumnIdentifier name =null;
Operator type =null;
Term.Raw t =null;
List l =null;
AbstractMarker.INRaw marker =null;
List inValues =null;
Operator rt =null;
Term.Raw key =null;
List ids =null;
Tuples.INRaw tupleInMarker =null;
List literals =null;
List markers =null;
Tuples.Literal literal =null;
Tuples.Raw tupleMarker =null;
try {
// Parser.g:1768:5: (name= cident type= relationType t= term |name= cident K_LIKE t= term |name= cident K_IS K_NOT K_NULL | K_TOKEN l= tupleOfIdentifiers type= relationType t= term |name= cident K_IN marker= inMarker |name= cident K_IN inValues= singleColumnInValues |name= cident rt= containsOperator t= term |name= cident '[' key= term ']' type= relationType t= term |ids= tupleOfIdentifiers ( K_IN ( '(' ')' |tupleInMarker= inMarkerForTuple |literals= tupleOfTupleLiterals |markers= tupleOfMarkersForTuples ) |type= relationType literal= tupleLiteral |type= relationType tupleMarker= markerForTuple ) | '(' relation[$clauses] ')' )
int alt251=10;
alt251 = dfa251.predict(input);
switch (alt251) {
case 1 :
// Parser.g:1768:7: name= cident type= relationType t= term
{
pushFollow(FOLLOW_cident_in_relation13793);
name=cident();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_relationType_in_relation13797);
type=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_relation13801);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(new SingleColumnRelation(name, type, t)); }
}
break;
case 2 :
// Parser.g:1769:7: name= cident K_LIKE t= term
{
pushFollow(FOLLOW_cident_in_relation13813);
name=cident();
state._fsp--;
if (state.failed) return;
match(input,K_LIKE,FOLLOW_K_LIKE_in_relation13815); if (state.failed) return;
pushFollow(FOLLOW_term_in_relation13819);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(new SingleColumnRelation(name, Operator.LIKE, t)); }
}
break;
case 3 :
// Parser.g:1770:7: name= cident K_IS K_NOT K_NULL
{
pushFollow(FOLLOW_cident_in_relation13831);
name=cident();
state._fsp--;
if (state.failed) return;
match(input,K_IS,FOLLOW_K_IS_in_relation13833); if (state.failed) return;
match(input,K_NOT,FOLLOW_K_NOT_in_relation13835); if (state.failed) return;
match(input,K_NULL,FOLLOW_K_NULL_in_relation13837); if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(new SingleColumnRelation(name, Operator.IS_NOT, Constants.NULL_LITERAL)); }
}
break;
case 4 :
// Parser.g:1771:7: K_TOKEN l= tupleOfIdentifiers type= relationType t= term
{
match(input,K_TOKEN,FOLLOW_K_TOKEN_in_relation13847); if (state.failed) return;
pushFollow(FOLLOW_tupleOfIdentifiers_in_relation13851);
l=tupleOfIdentifiers();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_relationType_in_relation13855);
type=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_relation13859);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(new TokenRelation(l, type, t)); }
}
break;
case 5 :
// Parser.g:1773:7: name= cident K_IN marker= inMarker
{
pushFollow(FOLLOW_cident_in_relation13879);
name=cident();
state._fsp--;
if (state.failed) return;
match(input,K_IN,FOLLOW_K_IN_in_relation13881); if (state.failed) return;
pushFollow(FOLLOW_inMarker_in_relation13885);
marker=inMarker();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(new SingleColumnRelation(name, Operator.IN, marker)); }
}
break;
case 6 :
// Parser.g:1775:7: name= cident K_IN inValues= singleColumnInValues
{
pushFollow(FOLLOW_cident_in_relation13905);
name=cident();
state._fsp--;
if (state.failed) return;
match(input,K_IN,FOLLOW_K_IN_in_relation13907); if (state.failed) return;
pushFollow(FOLLOW_singleColumnInValues_in_relation13911);
inValues=singleColumnInValues();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(SingleColumnRelation.createInRelation(name, inValues)); }
}
break;
case 7 :
// Parser.g:1777:7: name= cident rt= containsOperator t= term
{
pushFollow(FOLLOW_cident_in_relation13931);
name=cident();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_containsOperator_in_relation13935);
rt=containsOperator();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_relation13939);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(new SingleColumnRelation(name, rt, t)); }
}
break;
case 8 :
// Parser.g:1778:7: name= cident '[' key= term ']' type= relationType t= term
{
pushFollow(FOLLOW_cident_in_relation13951);
name=cident();
state._fsp--;
if (state.failed) return;
match(input,224,FOLLOW_224_in_relation13953); if (state.failed) return;
pushFollow(FOLLOW_term_in_relation13957);
key=term();
state._fsp--;
if (state.failed) return;
match(input,226,FOLLOW_226_in_relation13959); if (state.failed) return;
pushFollow(FOLLOW_relationType_in_relation13963);
type=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_term_in_relation13967);
t=term();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(new SingleColumnRelation(name, key, type, t)); }
}
break;
case 9 :
// Parser.g:1779:7: ids= tupleOfIdentifiers ( K_IN ( '(' ')' |tupleInMarker= inMarkerForTuple |literals= tupleOfTupleLiterals |markers= tupleOfMarkersForTuples ) |type= relationType literal= tupleLiteral |type= relationType tupleMarker= markerForTuple )
{
pushFollow(FOLLOW_tupleOfIdentifiers_in_relation13979);
ids=tupleOfIdentifiers();
state._fsp--;
if (state.failed) return;
// Parser.g:1780:7: ( K_IN ( '(' ')' |tupleInMarker= inMarkerForTuple |literals= tupleOfTupleLiterals |markers= tupleOfMarkersForTuples ) |type= relationType literal= tupleLiteral |type= relationType tupleMarker= markerForTuple )
int alt250=3;
alt250 = dfa250.predict(input);
switch (alt250) {
case 1 :
// Parser.g:1780:9: K_IN ( '(' ')' |tupleInMarker= inMarkerForTuple |literals= tupleOfTupleLiterals |markers= tupleOfMarkersForTuples )
{
match(input,K_IN,FOLLOW_K_IN_in_relation13989); if (state.failed) return;
// Parser.g:1781:11: ( '(' ')' |tupleInMarker= inMarkerForTuple |literals= tupleOfTupleLiterals |markers= tupleOfMarkersForTuples )
int alt249=4;
int LA249_0 = input.LA(1);
if ( (LA249_0==208) ) {
switch ( input.LA(2) ) {
case 209:
{
alt249=1;
}
break;
case 208:
{
alt249=3;
}
break;
case QMARK:
case 217:
{
alt249=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 249, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA249_0==QMARK||LA249_0==217) ) {
alt249=2;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 249, 0, input);
throw nvae;
}
switch (alt249) {
case 1 :
// Parser.g:1781:13: '(' ')'
{
match(input,208,FOLLOW_208_in_relation14003); if (state.failed) return;
match(input,209,FOLLOW_209_in_relation14005); if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(MultiColumnRelation.createInRelation(ids, new ArrayList())); }
}
break;
case 2 :
// Parser.g:1783:13: tupleInMarker= inMarkerForTuple
{
pushFollow(FOLLOW_inMarkerForTuple_in_relation14037);
tupleInMarker=inMarkerForTuple();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(MultiColumnRelation.createSingleMarkerInRelation(ids, tupleInMarker)); }
}
break;
case 3 :
// Parser.g:1785:13: literals= tupleOfTupleLiterals
{
pushFollow(FOLLOW_tupleOfTupleLiterals_in_relation14071);
literals=tupleOfTupleLiterals();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) {
clauses.add(MultiColumnRelation.createInRelation(ids, literals));
}
}
break;
case 4 :
// Parser.g:1789:13: markers= tupleOfMarkersForTuples
{
pushFollow(FOLLOW_tupleOfMarkersForTuples_in_relation14105);
markers=tupleOfMarkersForTuples();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(MultiColumnRelation.createInRelation(ids, markers)); }
}
break;
}
}
break;
case 2 :
// Parser.g:1792:9: type= relationType literal= tupleLiteral
{
pushFollow(FOLLOW_relationType_in_relation14147);
type=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_tupleLiteral_in_relation14151);
literal=tupleLiteral();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) {
clauses.add(MultiColumnRelation.createNonInRelation(ids, type, literal));
}
}
break;
case 3 :
// Parser.g:1796:9: type= relationType tupleMarker= markerForTuple
{
pushFollow(FOLLOW_relationType_in_relation14177);
type=relationType();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_markerForTuple_in_relation14181);
tupleMarker=markerForTuple();
state._fsp--;
if (state.failed) return;
if ( state.backtracking==0 ) { clauses.add(MultiColumnRelation.createNonInRelation(ids, type, tupleMarker)); }
}
break;
}
}
break;
case 10 :
// Parser.g:1799:7: '(' relation[$clauses] ')'
{
match(input,208,FOLLOW_208_in_relation14211); if (state.failed) return;
pushFollow(FOLLOW_relation_in_relation14213);
relation(clauses);
state._fsp--;
if (state.failed) return;
match(input,209,FOLLOW_209_in_relation14216); if (state.failed) return;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "relation"
// $ANTLR start "containsOperator"
// Parser.g:1802:1: containsOperator returns [Operator o] : K_CONTAINS ( K_KEY )? ;
public final Operator containsOperator() throws RecognitionException {
Operator o = null;
try {
// Parser.g:1803:5: ( K_CONTAINS ( K_KEY )? )
// Parser.g:1803:7: K_CONTAINS ( K_KEY )?
{
match(input,K_CONTAINS,FOLLOW_K_CONTAINS_in_containsOperator14237); if (state.failed) return o;
if ( state.backtracking==0 ) { o = Operator.CONTAINS; }
// Parser.g:1803:45: ( K_KEY )?
int alt252=2;
int LA252_0 = input.LA(1);
if ( (LA252_0==K_KEY) ) {
int LA252_1 = input.LA(2);
if ( (LA252_1==BOOLEAN||LA252_1==DURATION||LA252_1==FLOAT||LA252_1==HEXNUMBER||(LA252_1 >= IDENT && LA252_1 <= INTEGER)||LA252_1==K_ACCESS||(LA252_1 >= K_AGGREGATE && LA252_1 <= K_ALL)||LA252_1==K_AS||LA252_1==K_ASCII||(LA252_1 >= K_BIGINT && LA252_1 <= K_BOOLEAN)||(LA252_1 >= K_CALLED && LA252_1 <= K_CLUSTERING)||(LA252_1 >= K_COMPACT && LA252_1 <= K_COUNTER)||(LA252_1 >= K_CUSTOM && LA252_1 <= K_DEFAULT)||(LA252_1 >= K_DISTINCT && LA252_1 <= K_DOUBLE)||LA252_1==K_DURATION||(LA252_1 >= K_EXISTS && LA252_1 <= K_FLOAT)||LA252_1==K_FROZEN||(LA252_1 >= K_FUNCTION && LA252_1 <= K_FUNCTIONS)||(LA252_1 >= K_GROUP && LA252_1 <= K_IDENTITY)||(LA252_1 >= K_INET && LA252_1 <= K_INPUT)||(LA252_1 >= K_INT && LA252_1 <= K_INTERNALS)||(LA252_1 >= K_JSON && LA252_1 <= K_KEYS)||(LA252_1 >= K_KEYSPACES && LA252_1 <= K_LIKE)||(LA252_1 >= K_LIST && LA252_1 <= K_MASKED)||(LA252_1 >= K_MAXWRITETIME && LA252_1 <= K_MBEANS)||(LA252_1 >= K_NEGATIVE_INFINITY && LA252_1 <= K_NOLOGIN)||LA252_1==K_NOSUPERUSER||LA252_1==K_NULL||(LA252_1 >= K_ONLY && LA252_1 <= K_OPTIONS)||(LA252_1 >= K_PARTITION && LA252_1 <= K_POSITIVE_NAN)||(LA252_1 >= K_REPLACE && LA252_1 <= K_RETURNS)||(LA252_1 >= K_ROLE && LA252_1 <= K_ROLES)||LA252_1==K_SELECT_MASKED||(LA252_1 >= K_SFUNC && LA252_1 <= K_TINYINT)||(LA252_1 >= K_TOKEN && LA252_1 <= K_TRIGGER)||(LA252_1 >= K_TTL && LA252_1 <= K_TYPES)||(LA252_1 >= K_UNMASK && LA252_1 <= K_UNSET)||(LA252_1 >= K_USER && LA252_1 <= K_USERS)||(LA252_1 >= K_UUID && LA252_1 <= K_VECTOR)||LA252_1==K_WRITETIME||(LA252_1 >= QMARK && LA252_1 <= QUOTED_NAME)||LA252_1==STRING_LITERAL||LA252_1==UUID||LA252_1==208||LA252_1==213||LA252_1==217||LA252_1==224||LA252_1==228) ) {
alt252=1;
}
}
switch (alt252) {
case 1 :
// Parser.g:1803:46: K_KEY
{
match(input,K_KEY,FOLLOW_K_KEY_in_containsOperator14242); if (state.failed) return o;
if ( state.backtracking==0 ) { o = Operator.CONTAINS_KEY; }
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return o;
}
// $ANTLR end "containsOperator"
// $ANTLR start "inMarker"
// Parser.g:1806:1: inMarker returns [AbstractMarker.INRaw marker] : ( QMARK | ':' name= noncol_ident );
public final AbstractMarker.INRaw inMarker() throws RecognitionException {
AbstractMarker.INRaw marker = null;
ColumnIdentifier name =null;
try {
// Parser.g:1807:5: ( QMARK | ':' name= noncol_ident )
int alt253=2;
int LA253_0 = input.LA(1);
if ( (LA253_0==QMARK) ) {
alt253=1;
}
else if ( (LA253_0==217) ) {
alt253=2;
}
else {
if (state.backtracking>0) {state.failed=true; return marker;}
NoViableAltException nvae =
new NoViableAltException("", 253, 0, input);
throw nvae;
}
switch (alt253) {
case 1 :
// Parser.g:1807:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_inMarker14267); if (state.failed) return marker;
if ( state.backtracking==0 ) { marker = newINBindVariables(null); }
}
break;
case 2 :
// Parser.g:1808:7: ':' name= noncol_ident
{
match(input,217,FOLLOW_217_in_inMarker14277); if (state.failed) return marker;
pushFollow(FOLLOW_noncol_ident_in_inMarker14281);
name=noncol_ident();
state._fsp--;
if (state.failed) return marker;
if ( state.backtracking==0 ) { marker = newINBindVariables(name); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return marker;
}
// $ANTLR end "inMarker"
// $ANTLR start "tupleOfIdentifiers"
// Parser.g:1811:1: tupleOfIdentifiers returns [List ids] : '(' n1= cident ( ',' ni= cident )* ')' ;
public final List tupleOfIdentifiers() throws RecognitionException {
List ids = null;
ColumnIdentifier n1 =null;
ColumnIdentifier ni =null;
ids = new ArrayList();
try {
// Parser.g:1813:5: ( '(' n1= cident ( ',' ni= cident )* ')' )
// Parser.g:1813:7: '(' n1= cident ( ',' ni= cident )* ')'
{
match(input,208,FOLLOW_208_in_tupleOfIdentifiers14313); if (state.failed) return ids;
pushFollow(FOLLOW_cident_in_tupleOfIdentifiers14317);
n1=cident();
state._fsp--;
if (state.failed) return ids;
if ( state.backtracking==0 ) { ids.add(n1); }
// Parser.g:1813:39: ( ',' ni= cident )*
loop254:
while (true) {
int alt254=2;
int LA254_0 = input.LA(1);
if ( (LA254_0==212) ) {
alt254=1;
}
switch (alt254) {
case 1 :
// Parser.g:1813:40: ',' ni= cident
{
match(input,212,FOLLOW_212_in_tupleOfIdentifiers14322); if (state.failed) return ids;
pushFollow(FOLLOW_cident_in_tupleOfIdentifiers14326);
ni=cident();
state._fsp--;
if (state.failed) return ids;
if ( state.backtracking==0 ) { ids.add(ni); }
}
break;
default :
break loop254;
}
}
match(input,209,FOLLOW_209_in_tupleOfIdentifiers14332); if (state.failed) return ids;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return ids;
}
// $ANTLR end "tupleOfIdentifiers"
// $ANTLR start "singleColumnInValues"
// Parser.g:1816:1: singleColumnInValues returns [List terms] : '(' (t1= term ( ',' ti= term )* )? ')' ;
public final List singleColumnInValues() throws RecognitionException {
List terms = null;
Term.Raw t1 =null;
Term.Raw ti =null;
terms = new ArrayList();
try {
// Parser.g:1818:5: ( '(' (t1= term ( ',' ti= term )* )? ')' )
// Parser.g:1818:7: '(' (t1= term ( ',' ti= term )* )? ')'
{
match(input,208,FOLLOW_208_in_singleColumnInValues14362); if (state.failed) return terms;
// Parser.g:1818:11: (t1= term ( ',' ti= term )* )?
int alt256=2;
int LA256_0 = input.LA(1);
if ( (LA256_0==BOOLEAN||LA256_0==DURATION||LA256_0==FLOAT||LA256_0==HEXNUMBER||(LA256_0 >= IDENT && LA256_0 <= INTEGER)||LA256_0==K_ACCESS||(LA256_0 >= K_AGGREGATE && LA256_0 <= K_ALL)||LA256_0==K_AS||LA256_0==K_ASCII||(LA256_0 >= K_BIGINT && LA256_0 <= K_BOOLEAN)||(LA256_0 >= K_CALLED && LA256_0 <= K_CLUSTERING)||(LA256_0 >= K_COMPACT && LA256_0 <= K_COUNTER)||(LA256_0 >= K_CUSTOM && LA256_0 <= K_DEFAULT)||(LA256_0 >= K_DISTINCT && LA256_0 <= K_DOUBLE)||LA256_0==K_DURATION||(LA256_0 >= K_EXISTS && LA256_0 <= K_FLOAT)||LA256_0==K_FROZEN||(LA256_0 >= K_FUNCTION && LA256_0 <= K_FUNCTIONS)||(LA256_0 >= K_GROUP && LA256_0 <= K_IDENTITY)||(LA256_0 >= K_INET && LA256_0 <= K_INPUT)||(LA256_0 >= K_INT && LA256_0 <= K_INTERNALS)||(LA256_0 >= K_JSON && LA256_0 <= K_KEYS)||(LA256_0 >= K_KEYSPACES && LA256_0 <= K_LIKE)||(LA256_0 >= K_LIST && LA256_0 <= K_MASKED)||(LA256_0 >= K_MAXWRITETIME && LA256_0 <= K_MBEANS)||(LA256_0 >= K_NEGATIVE_INFINITY && LA256_0 <= K_NOLOGIN)||LA256_0==K_NOSUPERUSER||LA256_0==K_NULL||(LA256_0 >= K_ONLY && LA256_0 <= K_OPTIONS)||(LA256_0 >= K_PARTITION && LA256_0 <= K_POSITIVE_NAN)||(LA256_0 >= K_REPLACE && LA256_0 <= K_RETURNS)||(LA256_0 >= K_ROLE && LA256_0 <= K_ROLES)||LA256_0==K_SELECT_MASKED||(LA256_0 >= K_SFUNC && LA256_0 <= K_TINYINT)||(LA256_0 >= K_TOKEN && LA256_0 <= K_TRIGGER)||(LA256_0 >= K_TTL && LA256_0 <= K_TYPES)||(LA256_0 >= K_UNMASK && LA256_0 <= K_UNSET)||(LA256_0 >= K_USER && LA256_0 <= K_USERS)||(LA256_0 >= K_UUID && LA256_0 <= K_VECTOR)||LA256_0==K_WRITETIME||(LA256_0 >= QMARK && LA256_0 <= QUOTED_NAME)||LA256_0==STRING_LITERAL||LA256_0==UUID||LA256_0==208||LA256_0==213||LA256_0==217||LA256_0==224||LA256_0==228) ) {
alt256=1;
}
switch (alt256) {
case 1 :
// Parser.g:1818:13: t1= term ( ',' ti= term )*
{
pushFollow(FOLLOW_term_in_singleColumnInValues14370);
t1=term();
state._fsp--;
if (state.failed) return terms;
if ( state.backtracking==0 ) { terms.add(t1); }
// Parser.g:1818:43: ( ',' ti= term )*
loop255:
while (true) {
int alt255=2;
int LA255_0 = input.LA(1);
if ( (LA255_0==212) ) {
alt255=1;
}
switch (alt255) {
case 1 :
// Parser.g:1818:44: ',' ti= term
{
match(input,212,FOLLOW_212_in_singleColumnInValues14375); if (state.failed) return terms;
pushFollow(FOLLOW_term_in_singleColumnInValues14379);
ti=term();
state._fsp--;
if (state.failed) return terms;
if ( state.backtracking==0 ) { terms.add(ti); }
}
break;
default :
break loop255;
}
}
}
break;
}
match(input,209,FOLLOW_209_in_singleColumnInValues14388); if (state.failed) return terms;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return terms;
}
// $ANTLR end "singleColumnInValues"
// $ANTLR start "tupleOfTupleLiterals"
// Parser.g:1821:1: tupleOfTupleLiterals returns [List literals] : '(' t1= tupleLiteral ( ',' ti= tupleLiteral )* ')' ;
public final List tupleOfTupleLiterals() throws RecognitionException {
List literals = null;
Tuples.Literal t1 =null;
Tuples.Literal ti =null;
literals = new ArrayList<>();
try {
// Parser.g:1823:5: ( '(' t1= tupleLiteral ( ',' ti= tupleLiteral )* ')' )
// Parser.g:1823:7: '(' t1= tupleLiteral ( ',' ti= tupleLiteral )* ')'
{
match(input,208,FOLLOW_208_in_tupleOfTupleLiterals14418); if (state.failed) return literals;
pushFollow(FOLLOW_tupleLiteral_in_tupleOfTupleLiterals14422);
t1=tupleLiteral();
state._fsp--;
if (state.failed) return literals;
if ( state.backtracking==0 ) { literals.add(t1); }
// Parser.g:1823:50: ( ',' ti= tupleLiteral )*
loop257:
while (true) {
int alt257=2;
int LA257_0 = input.LA(1);
if ( (LA257_0==212) ) {
alt257=1;
}
switch (alt257) {
case 1 :
// Parser.g:1823:51: ',' ti= tupleLiteral
{
match(input,212,FOLLOW_212_in_tupleOfTupleLiterals14427); if (state.failed) return literals;
pushFollow(FOLLOW_tupleLiteral_in_tupleOfTupleLiterals14431);
ti=tupleLiteral();
state._fsp--;
if (state.failed) return literals;
if ( state.backtracking==0 ) { literals.add(ti); }
}
break;
default :
break loop257;
}
}
match(input,209,FOLLOW_209_in_tupleOfTupleLiterals14437); if (state.failed) return literals;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return literals;
}
// $ANTLR end "tupleOfTupleLiterals"
// $ANTLR start "markerForTuple"
// Parser.g:1826:1: markerForTuple returns [Tuples.Raw marker] : ( QMARK | ':' name= noncol_ident );
public final Tuples.Raw markerForTuple() throws RecognitionException {
Tuples.Raw marker = null;
ColumnIdentifier name =null;
try {
// Parser.g:1827:5: ( QMARK | ':' name= noncol_ident )
int alt258=2;
int LA258_0 = input.LA(1);
if ( (LA258_0==QMARK) ) {
alt258=1;
}
else if ( (LA258_0==217) ) {
alt258=2;
}
else {
if (state.backtracking>0) {state.failed=true; return marker;}
NoViableAltException nvae =
new NoViableAltException("", 258, 0, input);
throw nvae;
}
switch (alt258) {
case 1 :
// Parser.g:1827:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_markerForTuple14458); if (state.failed) return marker;
if ( state.backtracking==0 ) { marker = newTupleBindVariables(null); }
}
break;
case 2 :
// Parser.g:1828:7: ':' name= noncol_ident
{
match(input,217,FOLLOW_217_in_markerForTuple14468); if (state.failed) return marker;
pushFollow(FOLLOW_noncol_ident_in_markerForTuple14472);
name=noncol_ident();
state._fsp--;
if (state.failed) return marker;
if ( state.backtracking==0 ) { marker = newTupleBindVariables(name); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return marker;
}
// $ANTLR end "markerForTuple"
// $ANTLR start "tupleOfMarkersForTuples"
// Parser.g:1831:1: tupleOfMarkersForTuples returns [List markers] : '(' m1= markerForTuple ( ',' mi= markerForTuple )* ')' ;
public final List tupleOfMarkersForTuples() throws RecognitionException {
List markers = null;
Tuples.Raw m1 =null;
Tuples.Raw mi =null;
markers = new ArrayList();
try {
// Parser.g:1833:5: ( '(' m1= markerForTuple ( ',' mi= markerForTuple )* ')' )
// Parser.g:1833:7: '(' m1= markerForTuple ( ',' mi= markerForTuple )* ')'
{
match(input,208,FOLLOW_208_in_tupleOfMarkersForTuples14504); if (state.failed) return markers;
pushFollow(FOLLOW_markerForTuple_in_tupleOfMarkersForTuples14508);
m1=markerForTuple();
state._fsp--;
if (state.failed) return markers;
if ( state.backtracking==0 ) { markers.add(m1); }
// Parser.g:1833:51: ( ',' mi= markerForTuple )*
loop259:
while (true) {
int alt259=2;
int LA259_0 = input.LA(1);
if ( (LA259_0==212) ) {
alt259=1;
}
switch (alt259) {
case 1 :
// Parser.g:1833:52: ',' mi= markerForTuple
{
match(input,212,FOLLOW_212_in_tupleOfMarkersForTuples14513); if (state.failed) return markers;
pushFollow(FOLLOW_markerForTuple_in_tupleOfMarkersForTuples14517);
mi=markerForTuple();
state._fsp--;
if (state.failed) return markers;
if ( state.backtracking==0 ) { markers.add(mi); }
}
break;
default :
break loop259;
}
}
match(input,209,FOLLOW_209_in_tupleOfMarkersForTuples14523); if (state.failed) return markers;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return markers;
}
// $ANTLR end "tupleOfMarkersForTuples"
// $ANTLR start "inMarkerForTuple"
// Parser.g:1836:1: inMarkerForTuple returns [Tuples.INRaw marker] : ( QMARK | ':' name= noncol_ident );
public final Tuples.INRaw inMarkerForTuple() throws RecognitionException {
Tuples.INRaw marker = null;
ColumnIdentifier name =null;
try {
// Parser.g:1837:5: ( QMARK | ':' name= noncol_ident )
int alt260=2;
int LA260_0 = input.LA(1);
if ( (LA260_0==QMARK) ) {
alt260=1;
}
else if ( (LA260_0==217) ) {
alt260=2;
}
else {
if (state.backtracking>0) {state.failed=true; return marker;}
NoViableAltException nvae =
new NoViableAltException("", 260, 0, input);
throw nvae;
}
switch (alt260) {
case 1 :
// Parser.g:1837:7: QMARK
{
match(input,QMARK,FOLLOW_QMARK_in_inMarkerForTuple14544); if (state.failed) return marker;
if ( state.backtracking==0 ) { marker = newTupleINBindVariables(null); }
}
break;
case 2 :
// Parser.g:1838:7: ':' name= noncol_ident
{
match(input,217,FOLLOW_217_in_inMarkerForTuple14554); if (state.failed) return marker;
pushFollow(FOLLOW_noncol_ident_in_inMarkerForTuple14558);
name=noncol_ident();
state._fsp--;
if (state.failed) return marker;
if ( state.backtracking==0 ) { marker = newTupleINBindVariables(name); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return marker;
}
// $ANTLR end "inMarkerForTuple"
// $ANTLR start "comparatorType"
// Parser.g:1841:1: comparatorType returns [CQL3Type.Raw t] : (n= native_type |c= collection_type |tt= tuple_type |vc= vector_type |id= userTypeName | K_FROZEN '<' f= comparatorType '>' |s= STRING_LITERAL );
public final CQL3Type.Raw comparatorType() throws RecognitionException {
CQL3Type.Raw t = null;
Token s=null;
CQL3Type n =null;
CQL3Type.Raw c =null;
CQL3Type.Raw tt =null;
CQL3Type.Raw vc =null;
UTName id =null;
CQL3Type.Raw f =null;
try {
// Parser.g:1842:5: (n= native_type |c= collection_type |tt= tuple_type |vc= vector_type |id= userTypeName | K_FROZEN '<' f= comparatorType '>' |s= STRING_LITERAL )
int alt261=7;
alt261 = dfa261.predict(input);
switch (alt261) {
case 1 :
// Parser.g:1842:7: n= native_type
{
pushFollow(FOLLOW_native_type_in_comparatorType14583);
n=native_type();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Raw.from(n); }
}
break;
case 2 :
// Parser.g:1843:7: c= collection_type
{
pushFollow(FOLLOW_collection_type_in_comparatorType14599);
c=collection_type();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) { t = c; }
}
break;
case 3 :
// Parser.g:1844:7: tt= tuple_type
{
pushFollow(FOLLOW_tuple_type_in_comparatorType14611);
tt=tuple_type();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) { t = tt; }
}
break;
case 4 :
// Parser.g:1845:7: vc= vector_type
{
pushFollow(FOLLOW_vector_type_in_comparatorType14627);
vc=vector_type();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) { t = vc; }
}
break;
case 5 :
// Parser.g:1846:7: id= userTypeName
{
pushFollow(FOLLOW_userTypeName_in_comparatorType14642);
id=userTypeName();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Raw.userType(id); }
}
break;
case 6 :
// Parser.g:1847:7: K_FROZEN '<' f= comparatorType '>'
{
match(input,K_FROZEN,FOLLOW_K_FROZEN_in_comparatorType14654); if (state.failed) return t;
match(input,219,FOLLOW_219_in_comparatorType14656); if (state.failed) return t;
pushFollow(FOLLOW_comparatorType_in_comparatorType14660);
f=comparatorType();
state._fsp--;
if (state.failed) return t;
match(input,222,FOLLOW_222_in_comparatorType14662); if (state.failed) return t;
if ( state.backtracking==0 ) {
try {
t = f.freeze();
} catch (InvalidRequestException e) {
addRecognitionError(e.getMessage());
}
}
}
break;
case 7 :
// Parser.g:1855:7: s= STRING_LITERAL
{
s=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_comparatorType14680); if (state.failed) return t;
if ( state.backtracking==0 ) {
try {
t = CQL3Type.Raw.from(new CQL3Type.Custom((s!=null?s.getText():null)));
} catch (SyntaxException e) {
addRecognitionError("Cannot parse type " + (s!=null?s.getText():null) + ": " + e.getMessage());
} catch (ConfigurationException e) {
addRecognitionError("Error setting type " + (s!=null?s.getText():null) + ": " + e.getMessage());
}
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return t;
}
// $ANTLR end "comparatorType"
// $ANTLR start "native_type"
// Parser.g:1867:1: native_type returns [CQL3Type t] : ( K_ASCII | K_BIGINT | K_BLOB | K_BOOLEAN | K_COUNTER | K_DECIMAL | K_DOUBLE | K_DURATION | K_FLOAT | K_INET | K_INT | K_SMALLINT | K_TEXT | K_TIMESTAMP | K_TINYINT | K_UUID | K_VARCHAR | K_VARINT | K_TIMEUUID | K_DATE | K_TIME );
public final CQL3Type native_type() throws RecognitionException {
CQL3Type t = null;
try {
// Parser.g:1868:5: ( K_ASCII | K_BIGINT | K_BLOB | K_BOOLEAN | K_COUNTER | K_DECIMAL | K_DOUBLE | K_DURATION | K_FLOAT | K_INET | K_INT | K_SMALLINT | K_TEXT | K_TIMESTAMP | K_TINYINT | K_UUID | K_VARCHAR | K_VARINT | K_TIMEUUID | K_DATE | K_TIME )
int alt262=21;
switch ( input.LA(1) ) {
case K_ASCII:
{
alt262=1;
}
break;
case K_BIGINT:
{
alt262=2;
}
break;
case K_BLOB:
{
alt262=3;
}
break;
case K_BOOLEAN:
{
alt262=4;
}
break;
case K_COUNTER:
{
alt262=5;
}
break;
case K_DECIMAL:
{
alt262=6;
}
break;
case K_DOUBLE:
{
alt262=7;
}
break;
case K_DURATION:
{
alt262=8;
}
break;
case K_FLOAT:
{
alt262=9;
}
break;
case K_INET:
{
alt262=10;
}
break;
case K_INT:
{
alt262=11;
}
break;
case K_SMALLINT:
{
alt262=12;
}
break;
case K_TEXT:
{
alt262=13;
}
break;
case K_TIMESTAMP:
{
alt262=14;
}
break;
case K_TINYINT:
{
alt262=15;
}
break;
case K_UUID:
{
alt262=16;
}
break;
case K_VARCHAR:
{
alt262=17;
}
break;
case K_VARINT:
{
alt262=18;
}
break;
case K_TIMEUUID:
{
alt262=19;
}
break;
case K_DATE:
{
alt262=20;
}
break;
case K_TIME:
{
alt262=21;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return t;}
NoViableAltException nvae =
new NoViableAltException("", 262, 0, input);
throw nvae;
}
switch (alt262) {
case 1 :
// Parser.g:1868:7: K_ASCII
{
match(input,K_ASCII,FOLLOW_K_ASCII_in_native_type14709); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.ASCII; }
}
break;
case 2 :
// Parser.g:1869:7: K_BIGINT
{
match(input,K_BIGINT,FOLLOW_K_BIGINT_in_native_type14723); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.BIGINT; }
}
break;
case 3 :
// Parser.g:1870:7: K_BLOB
{
match(input,K_BLOB,FOLLOW_K_BLOB_in_native_type14736); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.BLOB; }
}
break;
case 4 :
// Parser.g:1871:7: K_BOOLEAN
{
match(input,K_BOOLEAN,FOLLOW_K_BOOLEAN_in_native_type14751); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.BOOLEAN; }
}
break;
case 5 :
// Parser.g:1872:7: K_COUNTER
{
match(input,K_COUNTER,FOLLOW_K_COUNTER_in_native_type14763); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.COUNTER; }
}
break;
case 6 :
// Parser.g:1873:7: K_DECIMAL
{
match(input,K_DECIMAL,FOLLOW_K_DECIMAL_in_native_type14775); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.DECIMAL; }
}
break;
case 7 :
// Parser.g:1874:7: K_DOUBLE
{
match(input,K_DOUBLE,FOLLOW_K_DOUBLE_in_native_type14787); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.DOUBLE; }
}
break;
case 8 :
// Parser.g:1875:7: K_DURATION
{
match(input,K_DURATION,FOLLOW_K_DURATION_in_native_type14800); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.DURATION; }
}
break;
case 9 :
// Parser.g:1876:7: K_FLOAT
{
match(input,K_FLOAT,FOLLOW_K_FLOAT_in_native_type14811); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.FLOAT; }
}
break;
case 10 :
// Parser.g:1877:7: K_INET
{
match(input,K_INET,FOLLOW_K_INET_in_native_type14825); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.INET;}
}
break;
case 11 :
// Parser.g:1878:7: K_INT
{
match(input,K_INT,FOLLOW_K_INT_in_native_type14840); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.INT; }
}
break;
case 12 :
// Parser.g:1879:7: K_SMALLINT
{
match(input,K_SMALLINT,FOLLOW_K_SMALLINT_in_native_type14856); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.SMALLINT; }
}
break;
case 13 :
// Parser.g:1880:7: K_TEXT
{
match(input,K_TEXT,FOLLOW_K_TEXT_in_native_type14867); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.TEXT; }
}
break;
case 14 :
// Parser.g:1881:7: K_TIMESTAMP
{
match(input,K_TIMESTAMP,FOLLOW_K_TIMESTAMP_in_native_type14882); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.TIMESTAMP; }
}
break;
case 15 :
// Parser.g:1882:7: K_TINYINT
{
match(input,K_TINYINT,FOLLOW_K_TINYINT_in_native_type14892); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.TINYINT; }
}
break;
case 16 :
// Parser.g:1883:7: K_UUID
{
match(input,K_UUID,FOLLOW_K_UUID_in_native_type14904); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.UUID; }
}
break;
case 17 :
// Parser.g:1884:7: K_VARCHAR
{
match(input,K_VARCHAR,FOLLOW_K_VARCHAR_in_native_type14919); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.VARCHAR; }
}
break;
case 18 :
// Parser.g:1885:7: K_VARINT
{
match(input,K_VARINT,FOLLOW_K_VARINT_in_native_type14931); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.VARINT; }
}
break;
case 19 :
// Parser.g:1886:7: K_TIMEUUID
{
match(input,K_TIMEUUID,FOLLOW_K_TIMEUUID_in_native_type14944); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.TIMEUUID; }
}
break;
case 20 :
// Parser.g:1887:7: K_DATE
{
match(input,K_DATE,FOLLOW_K_DATE_in_native_type14955); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.DATE; }
}
break;
case 21 :
// Parser.g:1888:7: K_TIME
{
match(input,K_TIME,FOLLOW_K_TIME_in_native_type14970); if (state.failed) return t;
if ( state.backtracking==0 ) { t = CQL3Type.Native.TIME; }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return t;
}
// $ANTLR end "native_type"
// $ANTLR start "collection_type"
// Parser.g:1891:1: collection_type returns [CQL3Type.Raw pt] : ( K_MAP '<' t1= comparatorType ',' t2= comparatorType '>' | K_LIST '<' t= comparatorType '>' | K_SET '<' t= comparatorType '>' );
public final CQL3Type.Raw collection_type() throws RecognitionException {
CQL3Type.Raw pt = null;
CQL3Type.Raw t1 =null;
CQL3Type.Raw t2 =null;
CQL3Type.Raw t =null;
try {
// Parser.g:1892:5: ( K_MAP '<' t1= comparatorType ',' t2= comparatorType '>' | K_LIST '<' t= comparatorType '>' | K_SET '<' t= comparatorType '>' )
int alt263=3;
switch ( input.LA(1) ) {
case K_MAP:
{
alt263=1;
}
break;
case K_LIST:
{
alt263=2;
}
break;
case K_SET:
{
alt263=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return pt;}
NoViableAltException nvae =
new NoViableAltException("", 263, 0, input);
throw nvae;
}
switch (alt263) {
case 1 :
// Parser.g:1892:7: K_MAP '<' t1= comparatorType ',' t2= comparatorType '>'
{
match(input,K_MAP,FOLLOW_K_MAP_in_collection_type14998); if (state.failed) return pt;
match(input,219,FOLLOW_219_in_collection_type15001); if (state.failed) return pt;
pushFollow(FOLLOW_comparatorType_in_collection_type15005);
t1=comparatorType();
state._fsp--;
if (state.failed) return pt;
match(input,212,FOLLOW_212_in_collection_type15007); if (state.failed) return pt;
pushFollow(FOLLOW_comparatorType_in_collection_type15011);
t2=comparatorType();
state._fsp--;
if (state.failed) return pt;
match(input,222,FOLLOW_222_in_collection_type15013); if (state.failed) return pt;
if ( state.backtracking==0 ) {
// if we can't parse either t1 or t2, antlr will "recover" and we may have t1 or t2 null.
if (t1 != null && t2 != null)
pt = CQL3Type.Raw.map(t1, t2);
}
}
break;
case 2 :
// Parser.g:1898:7: K_LIST '<' t= comparatorType '>'
{
match(input,K_LIST,FOLLOW_K_LIST_in_collection_type15031); if (state.failed) return pt;
match(input,219,FOLLOW_219_in_collection_type15033); if (state.failed) return pt;
pushFollow(FOLLOW_comparatorType_in_collection_type15037);
t=comparatorType();
state._fsp--;
if (state.failed) return pt;
match(input,222,FOLLOW_222_in_collection_type15039); if (state.failed) return pt;
if ( state.backtracking==0 ) { if (t != null) pt = CQL3Type.Raw.list(t); }
}
break;
case 3 :
// Parser.g:1900:7: K_SET '<' t= comparatorType '>'
{
match(input,K_SET,FOLLOW_K_SET_in_collection_type15057); if (state.failed) return pt;
match(input,219,FOLLOW_219_in_collection_type15060); if (state.failed) return pt;
pushFollow(FOLLOW_comparatorType_in_collection_type15064);
t=comparatorType();
state._fsp--;
if (state.failed) return pt;
match(input,222,FOLLOW_222_in_collection_type15066); if (state.failed) return pt;
if ( state.backtracking==0 ) { if (t != null) pt = CQL3Type.Raw.set(t); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return pt;
}
// $ANTLR end "collection_type"
// $ANTLR start "tuple_type"
// Parser.g:1904:1: tuple_type returns [CQL3Type.Raw t] : K_TUPLE '<' t1= comparatorType ( ',' tn= comparatorType )* '>' ;
public final CQL3Type.Raw tuple_type() throws RecognitionException {
CQL3Type.Raw t = null;
CQL3Type.Raw t1 =null;
CQL3Type.Raw tn =null;
List types = new ArrayList<>();
try {
// Parser.g:1907:5: ( K_TUPLE '<' t1= comparatorType ( ',' tn= comparatorType )* '>' )
// Parser.g:1907:7: K_TUPLE '<' t1= comparatorType ( ',' tn= comparatorType )* '>'
{
match(input,K_TUPLE,FOLLOW_K_TUPLE_in_tuple_type15115); if (state.failed) return t;
match(input,219,FOLLOW_219_in_tuple_type15117); if (state.failed) return t;
pushFollow(FOLLOW_comparatorType_in_tuple_type15121);
t1=comparatorType();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) { types.add(t1); }
// Parser.g:1907:56: ( ',' tn= comparatorType )*
loop264:
while (true) {
int alt264=2;
int LA264_0 = input.LA(1);
if ( (LA264_0==212) ) {
alt264=1;
}
switch (alt264) {
case 1 :
// Parser.g:1907:57: ',' tn= comparatorType
{
match(input,212,FOLLOW_212_in_tuple_type15126); if (state.failed) return t;
pushFollow(FOLLOW_comparatorType_in_tuple_type15130);
tn=comparatorType();
state._fsp--;
if (state.failed) return t;
if ( state.backtracking==0 ) { types.add(tn); }
}
break;
default :
break loop264;
}
}
match(input,222,FOLLOW_222_in_tuple_type15136); if (state.failed) return t;
}
if ( state.backtracking==0 ) {t = CQL3Type.Raw.tuple(types);}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return t;
}
// $ANTLR end "tuple_type"
// $ANTLR start "vector_type"
// Parser.g:1910:1: vector_type returns [CQL3Type.Raw vt] : K_VECTOR '<' t1= comparatorType ',' d= INTEGER '>' ;
public final CQL3Type.Raw vector_type() throws RecognitionException {
CQL3Type.Raw vt = null;
Token d=null;
CQL3Type.Raw t1 =null;
try {
// Parser.g:1911:5: ( K_VECTOR '<' t1= comparatorType ',' d= INTEGER '>' )
// Parser.g:1911:7: K_VECTOR '<' t1= comparatorType ',' d= INTEGER '>'
{
match(input,K_VECTOR,FOLLOW_K_VECTOR_in_vector_type15157); if (state.failed) return vt;
match(input,219,FOLLOW_219_in_vector_type15159); if (state.failed) return vt;
pushFollow(FOLLOW_comparatorType_in_vector_type15163);
t1=comparatorType();
state._fsp--;
if (state.failed) return vt;
match(input,212,FOLLOW_212_in_vector_type15165); if (state.failed) return vt;
d=(Token)match(input,INTEGER,FOLLOW_INTEGER_in_vector_type15170); if (state.failed) return vt;
match(input,222,FOLLOW_222_in_vector_type15172); if (state.failed) return vt;
if ( state.backtracking==0 ) { vt = CQL3Type.Raw.vector(t1, Integer.parseInt((d!=null?d.getText():null))); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return vt;
}
// $ANTLR end "vector_type"
public static class username_return extends ParserRuleReturnScope {
};
// $ANTLR start "username"
// Parser.g:1915:1: username : ( IDENT | STRING_LITERAL | QUOTED_NAME );
public final Cql_Parser.username_return username() throws RecognitionException {
Cql_Parser.username_return retval = new Cql_Parser.username_return();
retval.start = input.LT(1);
try {
// Parser.g:1916:5: ( IDENT | STRING_LITERAL | QUOTED_NAME )
int alt265=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt265=1;
}
break;
case STRING_LITERAL:
{
alt265=2;
}
break;
case QUOTED_NAME:
{
alt265=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return retval;}
NoViableAltException nvae =
new NoViableAltException("", 265, 0, input);
throw nvae;
}
switch (alt265) {
case 1 :
// Parser.g:1916:7: IDENT
{
match(input,IDENT,FOLLOW_IDENT_in_username15199); if (state.failed) return retval;
}
break;
case 2 :
// Parser.g:1917:7: STRING_LITERAL
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_username15207); if (state.failed) return retval;
}
break;
case 3 :
// Parser.g:1918:7: QUOTED_NAME
{
match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_username15215); if (state.failed) return retval;
if ( state.backtracking==0 ) { addRecognitionError("Quoted strings are are not supported for user names and USER is deprecated, please use ROLE");}
}
break;
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "username"
public static class identity_return extends ParserRuleReturnScope {
};
// $ANTLR start "identity"
// Parser.g:1921:1: identity : ( IDENT | STRING_LITERAL | QUOTED_NAME );
public final Cql_Parser.identity_return identity() throws RecognitionException {
Cql_Parser.identity_return retval = new Cql_Parser.identity_return();
retval.start = input.LT(1);
try {
// Parser.g:1922:5: ( IDENT | STRING_LITERAL | QUOTED_NAME )
int alt266=3;
switch ( input.LA(1) ) {
case IDENT:
{
alt266=1;
}
break;
case STRING_LITERAL:
{
alt266=2;
}
break;
case QUOTED_NAME:
{
alt266=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return retval;}
NoViableAltException nvae =
new NoViableAltException("", 266, 0, input);
throw nvae;
}
switch (alt266) {
case 1 :
// Parser.g:1922:7: IDENT
{
match(input,IDENT,FOLLOW_IDENT_in_identity15234); if (state.failed) return retval;
}
break;
case 2 :
// Parser.g:1923:7: STRING_LITERAL
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_identity15242); if (state.failed) return retval;
}
break;
case 3 :
// Parser.g:1924:7: QUOTED_NAME
{
match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_identity15250); if (state.failed) return retval;
if ( state.backtracking==0 ) { addRecognitionError("Quoted strings are are not supported for identity");}
}
break;
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "identity"
public static class mbean_return extends ParserRuleReturnScope {
};
// $ANTLR start "mbean"
// Parser.g:1927:1: mbean : STRING_LITERAL ;
public final Cql_Parser.mbean_return mbean() throws RecognitionException {
Cql_Parser.mbean_return retval = new Cql_Parser.mbean_return();
retval.start = input.LT(1);
try {
// Parser.g:1928:5: ( STRING_LITERAL )
// Parser.g:1928:7: STRING_LITERAL
{
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_mbean15269); if (state.failed) return retval;
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "mbean"
// $ANTLR start "non_type_ident"
// Parser.g:1933:1: non_type_ident returns [ColumnIdentifier id] : (t= IDENT |t= QUOTED_NAME |k= basic_unreserved_keyword |kk= K_KEY );
public final ColumnIdentifier non_type_ident() throws RecognitionException {
ColumnIdentifier id = null;
Token t=null;
Token kk=null;
String k =null;
try {
// Parser.g:1934:5: (t= IDENT |t= QUOTED_NAME |k= basic_unreserved_keyword |kk= K_KEY )
int alt267=4;
switch ( input.LA(1) ) {
case IDENT:
{
alt267=1;
}
break;
case QUOTED_NAME:
{
alt267=2;
}
break;
case K_ACCESS:
case K_AGGREGATE:
case K_AGGREGATES:
case K_ALL:
case K_AS:
case K_CALLED:
case K_CIDRS:
case K_CLUSTER:
case K_CLUSTERING:
case K_COMPACT:
case K_CONTAINS:
case K_CUSTOM:
case K_DATACENTERS:
case K_DEFAULT:
case K_EXISTS:
case K_FILTERING:
case K_FINALFUNC:
case K_FROZEN:
case K_FUNCTION:
case K_FUNCTIONS:
case K_GROUP:
case K_HASHED:
case K_IDENTITY:
case K_INITCOND:
case K_INPUT:
case K_INTERNALS:
case K_KEYS:
case K_KEYSPACES:
case K_LANGUAGE:
case K_LIKE:
case K_LIST:
case K_LOGIN:
case K_MAP:
case K_MASKED:
case K_MBEAN:
case K_MBEANS:
case K_NOLOGIN:
case K_NOSUPERUSER:
case K_ONLY:
case K_OPTIONS:
case K_PARTITION:
case K_PASSWORD:
case K_PER:
case K_PERMISSION:
case K_PERMISSIONS:
case K_REPLACE:
case K_RETURNS:
case K_ROLE:
case K_ROLES:
case K_SELECT_MASKED:
case K_SFUNC:
case K_STATIC:
case K_STORAGE:
case K_STYPE:
case K_SUPERUSER:
case K_TABLES:
case K_TRIGGER:
case K_TUPLE:
case K_TYPE:
case K_TYPES:
case K_UNMASK:
case K_UNSET:
case K_USER:
case K_USERS:
case K_VALUES:
case K_VECTOR:
{
alt267=3;
}
break;
case K_KEY:
{
alt267=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return id;}
NoViableAltException nvae =
new NoViableAltException("", 267, 0, input);
throw nvae;
}
switch (alt267) {
case 1 :
// Parser.g:1934:7: t= IDENT
{
t=(Token)match(input,IDENT,FOLLOW_IDENT_in_non_type_ident15294); if (state.failed) return id;
if ( state.backtracking==0 ) { if (reservedTypeNames.contains((t!=null?t.getText():null))) addRecognitionError("Invalid (reserved) user type name " + (t!=null?t.getText():null)); id = new ColumnIdentifier((t!=null?t.getText():null), false); }
}
break;
case 2 :
// Parser.g:1935:7: t= QUOTED_NAME
{
t=(Token)match(input,QUOTED_NAME,FOLLOW_QUOTED_NAME_in_non_type_ident15325); if (state.failed) return id;
if ( state.backtracking==0 ) { id = new ColumnIdentifier((t!=null?t.getText():null), true); }
}
break;
case 3 :
// Parser.g:1936:7: k= basic_unreserved_keyword
{
pushFollow(FOLLOW_basic_unreserved_keyword_in_non_type_ident15350);
k=basic_unreserved_keyword();
state._fsp--;
if (state.failed) return id;
if ( state.backtracking==0 ) { id = new ColumnIdentifier(k, false); }
}
break;
case 4 :
// Parser.g:1937:7: kk= K_KEY
{
kk=(Token)match(input,K_KEY,FOLLOW_K_KEY_in_non_type_ident15362); if (state.failed) return id;
if ( state.backtracking==0 ) { id = new ColumnIdentifier((kk!=null?kk.getText():null), false); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return id;
}
// $ANTLR end "non_type_ident"
// $ANTLR start "unreserved_keyword"
// Parser.g:1940:1: unreserved_keyword returns [String str] : (u= unreserved_function_keyword |k= ( K_TTL | K_COUNT | K_WRITETIME | K_MAXWRITETIME | K_KEY | K_CAST | K_JSON | K_DISTINCT ) );
public final String unreserved_keyword() throws RecognitionException {
String str = null;
Token k=null;
String u =null;
try {
// Parser.g:1941:5: (u= unreserved_function_keyword |k= ( K_TTL | K_COUNT | K_WRITETIME | K_MAXWRITETIME | K_KEY | K_CAST | K_JSON | K_DISTINCT ) )
int alt268=2;
int LA268_0 = input.LA(1);
if ( (LA268_0==K_ACCESS||(LA268_0 >= K_AGGREGATE && LA268_0 <= K_ALL)||LA268_0==K_AS||LA268_0==K_ASCII||(LA268_0 >= K_BIGINT && LA268_0 <= K_BOOLEAN)||LA268_0==K_CALLED||(LA268_0 >= K_CIDRS && LA268_0 <= K_CLUSTERING)||(LA268_0 >= K_COMPACT && LA268_0 <= K_CONTAINS)||LA268_0==K_COUNTER||(LA268_0 >= K_CUSTOM && LA268_0 <= K_DEFAULT)||LA268_0==K_DOUBLE||LA268_0==K_DURATION||(LA268_0 >= K_EXISTS && LA268_0 <= K_FLOAT)||LA268_0==K_FROZEN||(LA268_0 >= K_FUNCTION && LA268_0 <= K_FUNCTIONS)||(LA268_0 >= K_GROUP && LA268_0 <= K_IDENTITY)||(LA268_0 >= K_INET && LA268_0 <= K_INPUT)||(LA268_0 >= K_INT && LA268_0 <= K_INTERNALS)||LA268_0==K_KEYS||(LA268_0 >= K_KEYSPACES && LA268_0 <= K_LIKE)||(LA268_0 >= K_LIST && LA268_0 <= K_MASKED)||(LA268_0 >= K_MBEAN && LA268_0 <= K_MBEANS)||LA268_0==K_NOLOGIN||LA268_0==K_NOSUPERUSER||(LA268_0 >= K_ONLY && LA268_0 <= K_OPTIONS)||(LA268_0 >= K_PARTITION && LA268_0 <= K_PERMISSIONS)||(LA268_0 >= K_REPLACE && LA268_0 <= K_RETURNS)||(LA268_0 >= K_ROLE && LA268_0 <= K_ROLES)||LA268_0==K_SELECT_MASKED||(LA268_0 >= K_SFUNC && LA268_0 <= K_TINYINT)||LA268_0==K_TRIGGER||(LA268_0 >= K_TUPLE && LA268_0 <= K_TYPES)||(LA268_0 >= K_UNMASK && LA268_0 <= K_UNSET)||(LA268_0 >= K_USER && LA268_0 <= K_USERS)||(LA268_0 >= K_UUID && LA268_0 <= K_VECTOR)) ) {
alt268=1;
}
else if ( (LA268_0==K_CAST||LA268_0==K_COUNT||LA268_0==K_DISTINCT||(LA268_0 >= K_JSON && LA268_0 <= K_KEY)||LA268_0==K_MAXWRITETIME||LA268_0==K_TTL||LA268_0==K_WRITETIME) ) {
alt268=2;
}
else {
if (state.backtracking>0) {state.failed=true; return str;}
NoViableAltException nvae =
new NoViableAltException("", 268, 0, input);
throw nvae;
}
switch (alt268) {
case 1 :
// Parser.g:1941:7: u= unreserved_function_keyword
{
pushFollow(FOLLOW_unreserved_function_keyword_in_unreserved_keyword15405);
u=unreserved_function_keyword();
state._fsp--;
if (state.failed) return str;
if ( state.backtracking==0 ) { str = u; }
}
break;
case 2 :
// Parser.g:1942:7: k= ( K_TTL | K_COUNT | K_WRITETIME | K_MAXWRITETIME | K_KEY | K_CAST | K_JSON | K_DISTINCT )
{
k=input.LT(1);
if ( input.LA(1)==K_CAST||input.LA(1)==K_COUNT||input.LA(1)==K_DISTINCT||(input.LA(1) >= K_JSON && input.LA(1) <= K_KEY)||input.LA(1)==K_MAXWRITETIME||input.LA(1)==K_TTL||input.LA(1)==K_WRITETIME ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return str;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
if ( state.backtracking==0 ) { str = (k!=null?k.getText():null); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return str;
}
// $ANTLR end "unreserved_keyword"
// $ANTLR start "unreserved_function_keyword"
// Parser.g:1945:1: unreserved_function_keyword returns [String str] : (u= basic_unreserved_keyword |t= native_type );
public final String unreserved_function_keyword() throws RecognitionException {
String str = null;
String u =null;
CQL3Type t =null;
try {
// Parser.g:1946:5: (u= basic_unreserved_keyword |t= native_type )
int alt269=2;
int LA269_0 = input.LA(1);
if ( (LA269_0==K_ACCESS||(LA269_0 >= K_AGGREGATE && LA269_0 <= K_ALL)||LA269_0==K_AS||LA269_0==K_CALLED||(LA269_0 >= K_CIDRS && LA269_0 <= K_CLUSTERING)||(LA269_0 >= K_COMPACT && LA269_0 <= K_CONTAINS)||(LA269_0 >= K_CUSTOM && LA269_0 <= K_DATACENTERS)||LA269_0==K_DEFAULT||(LA269_0 >= K_EXISTS && LA269_0 <= K_FINALFUNC)||LA269_0==K_FROZEN||(LA269_0 >= K_FUNCTION && LA269_0 <= K_FUNCTIONS)||(LA269_0 >= K_GROUP && LA269_0 <= K_IDENTITY)||(LA269_0 >= K_INITCOND && LA269_0 <= K_INPUT)||LA269_0==K_INTERNALS||LA269_0==K_KEYS||(LA269_0 >= K_KEYSPACES && LA269_0 <= K_LIKE)||(LA269_0 >= K_LIST && LA269_0 <= K_MASKED)||(LA269_0 >= K_MBEAN && LA269_0 <= K_MBEANS)||LA269_0==K_NOLOGIN||LA269_0==K_NOSUPERUSER||(LA269_0 >= K_ONLY && LA269_0 <= K_OPTIONS)||(LA269_0 >= K_PARTITION && LA269_0 <= K_PERMISSIONS)||(LA269_0 >= K_REPLACE && LA269_0 <= K_RETURNS)||(LA269_0 >= K_ROLE && LA269_0 <= K_ROLES)||LA269_0==K_SELECT_MASKED||LA269_0==K_SFUNC||(LA269_0 >= K_STATIC && LA269_0 <= K_TABLES)||LA269_0==K_TRIGGER||(LA269_0 >= K_TUPLE && LA269_0 <= K_TYPES)||(LA269_0 >= K_UNMASK && LA269_0 <= K_UNSET)||(LA269_0 >= K_USER && LA269_0 <= K_USERS)||LA269_0==K_VALUES||LA269_0==K_VECTOR) ) {
alt269=1;
}
else if ( (LA269_0==K_ASCII||(LA269_0 >= K_BIGINT && LA269_0 <= K_BOOLEAN)||LA269_0==K_COUNTER||(LA269_0 >= K_DATE && LA269_0 <= K_DECIMAL)||LA269_0==K_DOUBLE||LA269_0==K_DURATION||LA269_0==K_FLOAT||LA269_0==K_INET||LA269_0==K_INT||LA269_0==K_SMALLINT||(LA269_0 >= K_TEXT && LA269_0 <= K_TINYINT)||LA269_0==K_UUID||(LA269_0 >= K_VARCHAR && LA269_0 <= K_VARINT)) ) {
alt269=2;
}
else {
if (state.backtracking>0) {state.failed=true; return str;}
NoViableAltException nvae =
new NoViableAltException("", 269, 0, input);
throw nvae;
}
switch (alt269) {
case 1 :
// Parser.g:1946:7: u= basic_unreserved_keyword
{
pushFollow(FOLLOW_basic_unreserved_keyword_in_unreserved_function_keyword15476);
u=basic_unreserved_keyword();
state._fsp--;
if (state.failed) return str;
if ( state.backtracking==0 ) { str = u; }
}
break;
case 2 :
// Parser.g:1947:7: t= native_type
{
pushFollow(FOLLOW_native_type_in_unreserved_function_keyword15488);
t=native_type();
state._fsp--;
if (state.failed) return str;
if ( state.backtracking==0 ) { str = t.toString(); }
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return str;
}
// $ANTLR end "unreserved_function_keyword"
// $ANTLR start "basic_unreserved_keyword"
// Parser.g:1950:1: basic_unreserved_keyword returns [String str] : k= ( K_KEYS | K_AS | K_CLUSTER | K_CLUSTERING | K_COMPACT | K_STORAGE | K_TABLES | K_TYPE | K_TYPES | K_VALUES | K_MAP | K_LIST | K_FILTERING | K_PERMISSION | K_PERMISSIONS | K_KEYSPACES | K_ALL | K_USER | K_USERS | K_ROLE | K_ROLES | K_IDENTITY | K_SUPERUSER | K_NOSUPERUSER | K_LOGIN | K_NOLOGIN | K_OPTIONS | K_PASSWORD | K_HASHED | K_EXISTS | K_CUSTOM | K_TRIGGER | K_CONTAINS | K_INTERNALS | K_ONLY | K_STATIC | K_FROZEN | K_TUPLE | K_FUNCTION | K_FUNCTIONS | K_AGGREGATE | K_AGGREGATES | K_SFUNC | K_STYPE | K_FINALFUNC | K_INITCOND | K_RETURNS | K_LANGUAGE | K_CALLED | K_INPUT | K_LIKE | K_PER | K_PARTITION | K_GROUP | K_DATACENTERS | K_CIDRS | K_ACCESS | K_DEFAULT | K_MBEAN | K_MBEANS | K_REPLACE | K_UNSET | K_MASKED | K_UNMASK | K_SELECT_MASKED | K_VECTOR ) ;
public final String basic_unreserved_keyword() throws RecognitionException {
String str = null;
Token k=null;
try {
// Parser.g:1951:5: (k= ( K_KEYS | K_AS | K_CLUSTER | K_CLUSTERING | K_COMPACT | K_STORAGE | K_TABLES | K_TYPE | K_TYPES | K_VALUES | K_MAP | K_LIST | K_FILTERING | K_PERMISSION | K_PERMISSIONS | K_KEYSPACES | K_ALL | K_USER | K_USERS | K_ROLE | K_ROLES | K_IDENTITY | K_SUPERUSER | K_NOSUPERUSER | K_LOGIN | K_NOLOGIN | K_OPTIONS | K_PASSWORD | K_HASHED | K_EXISTS | K_CUSTOM | K_TRIGGER | K_CONTAINS | K_INTERNALS | K_ONLY | K_STATIC | K_FROZEN | K_TUPLE | K_FUNCTION | K_FUNCTIONS | K_AGGREGATE | K_AGGREGATES | K_SFUNC | K_STYPE | K_FINALFUNC | K_INITCOND | K_RETURNS | K_LANGUAGE | K_CALLED | K_INPUT | K_LIKE | K_PER | K_PARTITION | K_GROUP | K_DATACENTERS | K_CIDRS | K_ACCESS | K_DEFAULT | K_MBEAN | K_MBEANS | K_REPLACE | K_UNSET | K_MASKED | K_UNMASK | K_SELECT_MASKED | K_VECTOR ) )
// Parser.g:1951:7: k= ( K_KEYS | K_AS | K_CLUSTER | K_CLUSTERING | K_COMPACT | K_STORAGE | K_TABLES | K_TYPE | K_TYPES | K_VALUES | K_MAP | K_LIST | K_FILTERING | K_PERMISSION | K_PERMISSIONS | K_KEYSPACES | K_ALL | K_USER | K_USERS | K_ROLE | K_ROLES | K_IDENTITY | K_SUPERUSER | K_NOSUPERUSER | K_LOGIN | K_NOLOGIN | K_OPTIONS | K_PASSWORD | K_HASHED | K_EXISTS | K_CUSTOM | K_TRIGGER | K_CONTAINS | K_INTERNALS | K_ONLY | K_STATIC | K_FROZEN | K_TUPLE | K_FUNCTION | K_FUNCTIONS | K_AGGREGATE | K_AGGREGATES | K_SFUNC | K_STYPE | K_FINALFUNC | K_INITCOND | K_RETURNS | K_LANGUAGE | K_CALLED | K_INPUT | K_LIKE | K_PER | K_PARTITION | K_GROUP | K_DATACENTERS | K_CIDRS | K_ACCESS | K_DEFAULT | K_MBEAN | K_MBEANS | K_REPLACE | K_UNSET | K_MASKED | K_UNMASK | K_SELECT_MASKED | K_VECTOR )
{
k=input.LT(1);
if ( input.LA(1)==K_ACCESS||(input.LA(1) >= K_AGGREGATE && input.LA(1) <= K_ALL)||input.LA(1)==K_AS||input.LA(1)==K_CALLED||(input.LA(1) >= K_CIDRS && input.LA(1) <= K_CLUSTERING)||(input.LA(1) >= K_COMPACT && input.LA(1) <= K_CONTAINS)||(input.LA(1) >= K_CUSTOM && input.LA(1) <= K_DATACENTERS)||input.LA(1)==K_DEFAULT||(input.LA(1) >= K_EXISTS && input.LA(1) <= K_FINALFUNC)||input.LA(1)==K_FROZEN||(input.LA(1) >= K_FUNCTION && input.LA(1) <= K_FUNCTIONS)||(input.LA(1) >= K_GROUP && input.LA(1) <= K_IDENTITY)||(input.LA(1) >= K_INITCOND && input.LA(1) <= K_INPUT)||input.LA(1)==K_INTERNALS||input.LA(1)==K_KEYS||(input.LA(1) >= K_KEYSPACES && input.LA(1) <= K_LIKE)||(input.LA(1) >= K_LIST && input.LA(1) <= K_MASKED)||(input.LA(1) >= K_MBEAN && input.LA(1) <= K_MBEANS)||input.LA(1)==K_NOLOGIN||input.LA(1)==K_NOSUPERUSER||(input.LA(1) >= K_ONLY && input.LA(1) <= K_OPTIONS)||(input.LA(1) >= K_PARTITION && input.LA(1) <= K_PERMISSIONS)||(input.LA(1) >= K_REPLACE && input.LA(1) <= K_RETURNS)||(input.LA(1) >= K_ROLE && input.LA(1) <= K_ROLES)||input.LA(1)==K_SELECT_MASKED||input.LA(1)==K_SFUNC||(input.LA(1) >= K_STATIC && input.LA(1) <= K_TABLES)||input.LA(1)==K_TRIGGER||(input.LA(1) >= K_TUPLE && input.LA(1) <= K_TYPES)||(input.LA(1) >= K_UNMASK && input.LA(1) <= K_UNSET)||(input.LA(1) >= K_USER && input.LA(1) <= K_USERS)||input.LA(1)==K_VALUES||input.LA(1)==K_VECTOR ) {
input.consume();
state.errorRecovery=false;
state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return str;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
if ( state.backtracking==0 ) { str = (k!=null?k.getText():null); }
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return str;
}
// $ANTLR end "basic_unreserved_keyword"
// $ANTLR start synpred1_Parser
public final void synpred1_Parser_fragment() throws RecognitionException {
// Parser.g:278:9: ( K_JSON selectClause )
// Parser.g:278:10: K_JSON selectClause
{
match(input,K_JSON,FOLLOW_K_JSON_in_synpred1_Parser1133); if (state.failed) return;
pushFollow(FOLLOW_selectClause_in_synpred1_Parser1135);
selectClause();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred1_Parser
// $ANTLR start synpred2_Parser
public final void synpred2_Parser_fragment() throws RecognitionException {
// Parser.g:300:7: ( K_DISTINCT selectors )
// Parser.g:300:8: K_DISTINCT selectors
{
match(input,K_DISTINCT,FOLLOW_K_DISTINCT_in_synpred2_Parser1336); if (state.failed) return;
pushFollow(FOLLOW_selectors_in_synpred2_Parser1338);
selectors();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred2_Parser
// $ANTLR start synpred3_Parser
public final void synpred3_Parser_fragment() throws RecognitionException {
// Parser.g:334:7: ( selectionGroupWithField )
// Parser.g:334:8: selectionGroupWithField
{
pushFollow(FOLLOW_selectionGroupWithField_in_synpred3_Parser1667);
selectionGroupWithField();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred3_Parser
// $ANTLR start synpred4_Parser
public final void synpred4_Parser_fragment() throws RecognitionException {
// Parser.g:368:7: ( selectionTypeHint )
// Parser.g:368:8: selectionTypeHint
{
pushFollow(FOLLOW_selectionTypeHint_in_synpred4_Parser1954);
selectionTypeHint();
state._fsp--;
if (state.failed) return;
}
}
// $ANTLR end synpred4_Parser
// $ANTLR start synpred5_Parser
public final void synpred5_Parser_fragment() throws RecognitionException {
// Parser.g:1413:7: ( K_CLUSTER )
// Parser.g:1413:8: K_CLUSTER
{
match(input,K_CLUSTER,FOLLOW_K_CLUSTER_in_synpred5_Parser9724); if (state.failed) return;
}
}
// $ANTLR end synpred5_Parser
// $ANTLR start synpred6_Parser
public final void synpred6_Parser_fragment() throws RecognitionException {
// Parser.g:1415:7: ( K_KEYSPACES )
// Parser.g:1415:8: K_KEYSPACES
{
match(input,K_KEYSPACES,FOLLOW_K_KEYSPACES_in_synpred6_Parser9780); if (state.failed) return;
}
}
// $ANTLR end synpred6_Parser
// $ANTLR start synpred7_Parser
public final void synpred7_Parser_fragment() throws RecognitionException {
// Parser.g:1418:7: ( K_TABLES )
// Parser.g:1418:8: K_TABLES
{
match(input,K_TABLES,FOLLOW_K_TABLES_in_synpred7_Parser9887); if (state.failed) return;
}
}
// $ANTLR end synpred7_Parser
// $ANTLR start synpred8_Parser
public final void synpred8_Parser_fragment() throws RecognitionException {
// Parser.g:1422:7: ( K_TYPES )
// Parser.g:1422:8: K_TYPES
{
match(input,K_TYPES,FOLLOW_K_TYPES_in_synpred8_Parser9992); if (state.failed) return;
}
}
// $ANTLR end synpred8_Parser
// $ANTLR start synpred9_Parser
public final void synpred9_Parser_fragment() throws RecognitionException {
// Parser.g:1424:7: ( K_FUNCTIONS )
// Parser.g:1424:8: K_FUNCTIONS
{
match(input,K_FUNCTIONS,FOLLOW_K_FUNCTIONS_in_synpred9_Parser10066); if (state.failed) return;
}
}
// $ANTLR end synpred9_Parser
// $ANTLR start synpred10_Parser
public final void synpred10_Parser_fragment() throws RecognitionException {
// Parser.g:1426:7: ( K_AGGREGATES )
// Parser.g:1426:8: K_AGGREGATES
{
match(input,K_AGGREGATES,FOLLOW_K_AGGREGATES_in_synpred10_Parser10128); if (state.failed) return;
}
}
// $ANTLR end synpred10_Parser
// Delegated rules
public final boolean synpred2_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred2_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred10_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred10_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred1_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred1_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred3_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred3_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred4_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred4_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred5_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred5_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred6_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred6_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred7_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred7_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred8_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred8_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred9_Parser() {
state.backtracking++;
int start = input.mark();
try {
synpred9_Parser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
protected DFA1 dfa1 = new DFA1(this);
protected DFA2 dfa2 = new DFA2(this);
protected DFA11 dfa11 = new DFA11(this);
protected DFA17 dfa17 = new DFA17(this);
protected DFA22 dfa22 = new DFA22(this);
protected DFA30 dfa30 = new DFA30(this);
protected DFA31 dfa31 = new DFA31(this);
protected DFA61 dfa61 = new DFA61(this);
protected DFA144 dfa144 = new DFA144(this);
protected DFA166 dfa166 = new DFA166(this);
protected DFA193 dfa193 = new DFA193(this);
protected DFA201 dfa201 = new DFA201(this);
protected DFA199 dfa199 = new DFA199(this);
protected DFA207 dfa207 = new DFA207(this);
protected DFA208 dfa208 = new DFA208(this);
protected DFA226 dfa226 = new DFA226(this);
protected DFA228 dfa228 = new DFA228(this);
protected DFA230 dfa230 = new DFA230(this);
protected DFA232 dfa232 = new DFA232(this);
protected DFA235 dfa235 = new DFA235(this);
protected DFA238 dfa238 = new DFA238(this);
protected DFA246 dfa246 = new DFA246(this);
protected DFA251 dfa251 = new DFA251(this);
protected DFA250 dfa250 = new DFA250(this);
protected DFA261 dfa261 = new DFA261(this);
static final String DFA1_eotS =
"\70\uffff";
static final String DFA1_eofS =
"\70\uffff";
static final String DFA1_minS =
"\1\37\7\uffff\2\40\1\66\2\32\1\42\12\uffff\1\u0089\23\uffff\2\173\2\uffff"+
"\2\116\5\uffff\1\40";
static final String DFA1_maxS =
"\1\u00aa\7\uffff\3\u00ab\2\u00c4\1\u00ac\12\uffff\1\u0089\23\uffff\1\u009e"+
"\1\u00d4\2\uffff\1\u0084\1\u00d4\5\uffff\1\121";
static final String DFA1_acceptS =
"\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\6\uffff\1\51\1\52\1\10\1\11\1\23"+
"\1\27\1\31\1\40\1\46\1\12\1\uffff\1\34\1\36\1\13\1\14\1\15\1\25\1\30\1"+
"\33\1\35\1\37\1\42\1\47\1\53\1\16\1\17\1\24\1\32\1\41\1\50\2\uffff\1\44"+
"\1\20\2\uffff\1\45\1\21\1\26\1\43\1\22\1\uffff";
static final String DFA1_specialS =
"\70\uffff}>";
static final String[] DFA1_transitionS = {
"\1\17\4\uffff\1\12\7\uffff\1\4\16\uffff\1\10\5\uffff\1\5\2\16\2\uffff"+
"\1\11\14\uffff\1\13\11\uffff\1\2\14\uffff\1\15\40\uffff\1\14\3\uffff"+
"\1\1\21\uffff\1\7\7\uffff\1\3\1\6",
"",
"",
"",
"",
"",
"",
"",
"\1\32\25\uffff\1\21\5\uffff\1\27\24\uffff\1\31\7\uffff\1\27\13\uffff"+
"\1\20\10\uffff\1\26\17\uffff\1\30\15\uffff\1\25\23\uffff\1\23\3\uffff"+
"\1\24\6\uffff\1\22",
"\1\42\25\uffff\1\34\32\uffff\1\41\4\uffff\1\45\2\uffff\1\35\13\uffff"+
"\1\33\10\uffff\1\44\35\uffff\1\43\23\uffff\1\37\3\uffff\1\40\6\uffff"+
"\1\36",
"\1\46\56\uffff\1\47\10\uffff\1\53\35\uffff\1\52\27\uffff\1\51\6\uffff"+
"\1\50",
"\1\56\3\uffff\1\56\1\uffff\2\56\1\54\1\uffff\1\57\2\uffff\1\56\1\uffff"+
"\1\56\1\57\2\uffff\3\56\1\uffff\5\56\1\uffff\4\56\1\57\5\56\2\uffff\1"+
"\57\2\56\1\57\1\56\1\uffff\1\57\4\56\1\uffff\1\56\1\uffff\2\56\1\uffff"+
"\3\56\3\uffff\3\56\1\uffff\2\56\2\uffff\3\56\1\uffff\3\56\1\uffff\4\56"+
"\1\uffff\3\56\1\57\2\uffff\1\56\1\uffff\1\56\4\uffff\2\56\2\uffff\5\56"+
"\4\uffff\2\56\1\uffff\2\56\1\uffff\1\57\1\55\1\uffff\14\56\2\uffff\1"+
"\56\1\uffff\4\56\1\uffff\1\55\1\56\2\uffff\2\56\1\uffff\5\56\3\uffff"+
"\1\56\10\uffff\2\56\3\uffff\1\56",
"\1\62\3\uffff\1\62\1\uffff\2\62\1\60\1\uffff\1\63\2\uffff\1\62\1\uffff"+
"\1\62\1\63\2\uffff\3\62\1\uffff\5\62\1\uffff\4\62\1\63\5\62\2\uffff\1"+
"\63\2\62\1\63\1\62\1\uffff\1\63\4\62\1\uffff\1\62\1\uffff\2\62\1\uffff"+
"\3\62\3\uffff\3\62\1\uffff\2\62\2\uffff\3\62\1\uffff\3\62\1\uffff\4\62"+
"\1\uffff\3\62\1\63\2\uffff\1\62\1\uffff\1\62\4\uffff\2\62\2\uffff\5\62"+
"\4\uffff\2\62\1\uffff\2\62\1\uffff\1\63\1\61\1\uffff\14\62\2\uffff\1"+
"\62\1\uffff\4\62\1\uffff\1\61\1\62\2\uffff\2\62\1\uffff\5\62\3\uffff"+
"\1\62\10\uffff\2\62\3\uffff\1\62",
"\1\66\1\uffff\1\66\5\uffff\1\66\20\uffff\1\66\7\uffff\1\66\2\uffff\1"+
"\66\2\uffff\1\66\50\uffff\1\66\32\uffff\1\65\1\uffff\2\66\26\uffff\1"+
"\66\4\uffff\1\64",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\67",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\57\10\uffff\1\57\31\uffff\1\56",
"\1\57\7\uffff\1\57\32\uffff\1\56\65\uffff\1\57",
"",
"",
"\1\62\54\uffff\1\63\10\uffff\1\63",
"\1\62\54\uffff\1\63\7\uffff\1\63\120\uffff\1\63",
"",
"",
"",
"",
"",
"\1\32\60\uffff\1\31"
};
static final short[] DFA1_eot = DFA.unpackEncodedString(DFA1_eotS);
static final short[] DFA1_eof = DFA.unpackEncodedString(DFA1_eofS);
static final char[] DFA1_min = DFA.unpackEncodedStringToUnsignedChars(DFA1_minS);
static final char[] DFA1_max = DFA.unpackEncodedStringToUnsignedChars(DFA1_maxS);
static final short[] DFA1_accept = DFA.unpackEncodedString(DFA1_acceptS);
static final short[] DFA1_special = DFA.unpackEncodedString(DFA1_specialS);
static final short[][] DFA1_transition;
static {
int numStates = DFA1_transitionS.length;
DFA1_transition = new short[numStates][];
for (int i=0; i K_JSON )?";
}
@Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA2_1 = input.LA(1);
int index2_1 = input.index();
input.rewind();
s = -1;
if ( (synpred1_Parser()) ) {s = 52;}
else if ( (true) ) {s = 2;}
input.seek(index2_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 2, _s, input);
error(nvae);
throw nvae;
}
}
static final String DFA11_eotS =
"\64\uffff";
static final String DFA11_eofS =
"\64\uffff";
static final String DFA11_minS =
"\1\6\1\0\62\uffff";
static final String DFA11_maxS =
"\1\u00e4\1\0\62\uffff";
static final String DFA11_acceptS =
"\2\uffff\1\2\60\uffff\1\1";
static final String DFA11_specialS =
"\1\uffff\1\0\62\uffff}>";
static final String[] DFA11_transitionS = {
"\1\2\4\uffff\1\2\10\uffff\1\2\3\uffff\1\2\1\uffff\2\2\2\uffff\1\2\1\uffff"+
"\3\2\4\uffff\1\2\1\uffff\1\2\3\uffff\3\2\1\uffff\5\2\1\uffff\4\2\1\uffff"+
"\5\2\3\uffff\1\1\1\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\2\2"+
"\1\uffff\3\2\3\uffff\3\2\1\uffff\2\2\2\uffff\3\2\1\uffff\3\2\1\uffff"+
"\4\2\1\uffff\3\2\1\uffff\3\2\1\uffff\1\2\1\uffff\1\2\2\uffff\2\2\2\uffff"+
"\7\2\2\uffff\2\2\1\uffff\2\2\2\uffff\1\2\1\uffff\14\2\1\uffff\2\2\1\uffff"+
"\4\2\1\uffff\2\2\2\uffff\2\2\1\uffff\5\2\3\uffff\1\2\10\uffff\2\2\3\uffff"+
"\1\2\2\uffff\1\2\10\uffff\1\2\4\uffff\1\2\3\uffff\1\2\6\uffff\2\2\2\uffff"+
"\1\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
static final short[][] DFA11_transition;
static {
int numStates = DFA11_transitionS.length;
DFA11_transition = new short[numStates][];
for (int i=0; i selectors] : ( ( K_DISTINCT selectors )=> K_DISTINCT s= selectors |s= selectors );";
}
@Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA11_1 = input.LA(1);
int index11_1 = input.index();
input.rewind();
s = -1;
if ( (synpred2_Parser()) ) {s = 51;}
else if ( (true) ) {s = 2;}
input.seek(index11_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 11, _s, input);
error(nvae);
throw nvae;
}
}
static final String DFA17_eotS =
"\63\uffff";
static final String DFA17_eofS =
"\63\uffff";
static final String DFA17_minS =
"\1\6\57\0\3\uffff";
static final String DFA17_maxS =
"\1\u00e4\57\0\3\uffff";
static final String DFA17_acceptS =
"\60\uffff\1\3\1\1\1\2";
static final String DFA17_specialS =
"\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15"+
"\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33"+
"\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51"+
"\1\52\1\53\1\54\1\55\1\56\3\uffff}>";
static final String[] DFA17_transitionS = {
"\1\35\4\uffff\1\36\10\uffff\1\34\3\uffff\1\40\1\uffff\1\1\1\33\2\uffff"+
"\1\3\1\uffff\3\3\4\uffff\1\3\1\uffff\1\4\3\uffff\1\5\1\6\1\7\1\uffff"+
"\1\3\1\52\3\3\1\uffff\2\3\1\31\1\10\1\uffff\2\3\1\27\1\11\1\3\3\uffff"+
"\1\53\1\12\1\uffff\1\13\2\uffff\3\3\1\14\1\uffff\1\3\1\uffff\2\3\1\uffff"+
"\3\3\3\uffff\1\15\2\3\1\uffff\1\16\1\3\2\uffff\2\53\1\3\1\uffff\3\3\1"+
"\uffff\4\3\1\uffff\1\47\2\3\1\uffff\1\43\1\41\1\3\1\uffff\1\3\1\uffff"+
"\1\44\2\uffff\2\3\2\uffff\5\3\1\42\1\41\2\uffff\2\3\1\uffff\2\3\2\uffff"+
"\1\3\1\uffff\1\3\1\17\5\3\1\20\1\30\1\21\1\26\1\22\1\uffff\1\54\1\3\1"+
"\uffff\1\51\3\3\1\uffff\2\3\2\uffff\2\3\1\uffff\1\23\1\3\1\24\1\25\1"+
"\3\3\uffff\1\50\10\uffff\1\46\1\2\3\uffff\1\32\2\uffff\1\37\10\uffff"+
"\1\55\4\uffff\1\60\3\uffff\1\45\6\uffff\1\56\3\uffff\1\57",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
""
};
static final short[] DFA17_eot = DFA.unpackEncodedString(DFA17_eotS);
static final short[] DFA17_eof = DFA.unpackEncodedString(DFA17_eofS);
static final char[] DFA17_min = DFA.unpackEncodedStringToUnsignedChars(DFA17_minS);
static final char[] DFA17_max = DFA.unpackEncodedStringToUnsignedChars(DFA17_maxS);
static final short[] DFA17_accept = DFA.unpackEncodedString(DFA17_acceptS);
static final short[] DFA17_special = DFA.unpackEncodedString(DFA17_specialS);
static final short[][] DFA17_transition;
static {
int numStates = DFA17_transitionS.length;
DFA17_transition = new short[numStates][];
for (int i=0; if= selectionGroupWithField |g= selectionGroupWithoutField | '-' g= selectionGroup );";
}
@Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA17_1 = input.LA(1);
int index17_1 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA17_2 = input.LA(1);
int index17_2 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA17_3 = input.LA(1);
int index17_3 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA17_4 = input.LA(1);
int index17_4 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA17_5 = input.LA(1);
int index17_5 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA17_6 = input.LA(1);
int index17_6 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA17_7 = input.LA(1);
int index17_7 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_7);
if ( s>=0 ) return s;
break;
case 7 :
int LA17_8 = input.LA(1);
int index17_8 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_8);
if ( s>=0 ) return s;
break;
case 8 :
int LA17_9 = input.LA(1);
int index17_9 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_9);
if ( s>=0 ) return s;
break;
case 9 :
int LA17_10 = input.LA(1);
int index17_10 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_10);
if ( s>=0 ) return s;
break;
case 10 :
int LA17_11 = input.LA(1);
int index17_11 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_11);
if ( s>=0 ) return s;
break;
case 11 :
int LA17_12 = input.LA(1);
int index17_12 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_12);
if ( s>=0 ) return s;
break;
case 12 :
int LA17_13 = input.LA(1);
int index17_13 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_13);
if ( s>=0 ) return s;
break;
case 13 :
int LA17_14 = input.LA(1);
int index17_14 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_14);
if ( s>=0 ) return s;
break;
case 14 :
int LA17_15 = input.LA(1);
int index17_15 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_15);
if ( s>=0 ) return s;
break;
case 15 :
int LA17_16 = input.LA(1);
int index17_16 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_16);
if ( s>=0 ) return s;
break;
case 16 :
int LA17_17 = input.LA(1);
int index17_17 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_17);
if ( s>=0 ) return s;
break;
case 17 :
int LA17_18 = input.LA(1);
int index17_18 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_18);
if ( s>=0 ) return s;
break;
case 18 :
int LA17_19 = input.LA(1);
int index17_19 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_19);
if ( s>=0 ) return s;
break;
case 19 :
int LA17_20 = input.LA(1);
int index17_20 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_20);
if ( s>=0 ) return s;
break;
case 20 :
int LA17_21 = input.LA(1);
int index17_21 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_21);
if ( s>=0 ) return s;
break;
case 21 :
int LA17_22 = input.LA(1);
int index17_22 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_22);
if ( s>=0 ) return s;
break;
case 22 :
int LA17_23 = input.LA(1);
int index17_23 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_23);
if ( s>=0 ) return s;
break;
case 23 :
int LA17_24 = input.LA(1);
int index17_24 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_24);
if ( s>=0 ) return s;
break;
case 24 :
int LA17_25 = input.LA(1);
int index17_25 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_25);
if ( s>=0 ) return s;
break;
case 25 :
int LA17_26 = input.LA(1);
int index17_26 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_26);
if ( s>=0 ) return s;
break;
case 26 :
int LA17_27 = input.LA(1);
int index17_27 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_27);
if ( s>=0 ) return s;
break;
case 27 :
int LA17_28 = input.LA(1);
int index17_28 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_28);
if ( s>=0 ) return s;
break;
case 28 :
int LA17_29 = input.LA(1);
int index17_29 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_29);
if ( s>=0 ) return s;
break;
case 29 :
int LA17_30 = input.LA(1);
int index17_30 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_30);
if ( s>=0 ) return s;
break;
case 30 :
int LA17_31 = input.LA(1);
int index17_31 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_31);
if ( s>=0 ) return s;
break;
case 31 :
int LA17_32 = input.LA(1);
int index17_32 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_32);
if ( s>=0 ) return s;
break;
case 32 :
int LA17_33 = input.LA(1);
int index17_33 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_33);
if ( s>=0 ) return s;
break;
case 33 :
int LA17_34 = input.LA(1);
int index17_34 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_34);
if ( s>=0 ) return s;
break;
case 34 :
int LA17_35 = input.LA(1);
int index17_35 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_35);
if ( s>=0 ) return s;
break;
case 35 :
int LA17_36 = input.LA(1);
int index17_36 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_36);
if ( s>=0 ) return s;
break;
case 36 :
int LA17_37 = input.LA(1);
int index17_37 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_37);
if ( s>=0 ) return s;
break;
case 37 :
int LA17_38 = input.LA(1);
int index17_38 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_38);
if ( s>=0 ) return s;
break;
case 38 :
int LA17_39 = input.LA(1);
int index17_39 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_39);
if ( s>=0 ) return s;
break;
case 39 :
int LA17_40 = input.LA(1);
int index17_40 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_40);
if ( s>=0 ) return s;
break;
case 40 :
int LA17_41 = input.LA(1);
int index17_41 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_41);
if ( s>=0 ) return s;
break;
case 41 :
int LA17_42 = input.LA(1);
int index17_42 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_42);
if ( s>=0 ) return s;
break;
case 42 :
int LA17_43 = input.LA(1);
int index17_43 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_43);
if ( s>=0 ) return s;
break;
case 43 :
int LA17_44 = input.LA(1);
int index17_44 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_44);
if ( s>=0 ) return s;
break;
case 44 :
int LA17_45 = input.LA(1);
int index17_45 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_45);
if ( s>=0 ) return s;
break;
case 45 :
int LA17_46 = input.LA(1);
int index17_46 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_46);
if ( s>=0 ) return s;
break;
case 46 :
int LA17_47 = input.LA(1);
int index17_47 = input.index();
input.rewind();
s = -1;
if ( (synpred3_Parser()) ) {s = 49;}
else if ( (true) ) {s = 50;}
input.seek(index17_47);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 17, _s, input);
error(nvae);
throw nvae;
}
}
static final String DFA22_eotS =
"\62\uffff";
static final String DFA22_eofS =
"\62\uffff";
static final String DFA22_minS =
"\1\6\54\uffff\1\0\4\uffff";
static final String DFA22_maxS =
"\1\u00e4\54\uffff\1\0\4\uffff";
static final String DFA22_acceptS =
"\1\uffff\1\1\54\uffff\1\4\1\5\1\2\1\3";
static final String DFA22_specialS =
"\55\uffff\1\0\4\uffff}>";
static final String[] DFA22_transitionS = {
"\1\1\4\uffff\1\1\10\uffff\1\1\3\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff"+
"\3\1\4\uffff\1\1\1\uffff\1\1\3\uffff\3\1\1\uffff\5\1\1\uffff\4\1\1\uffff"+
"\5\1\3\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\1\1\uffff\2\1\1\uffff"+
"\3\1\3\uffff\3\1\1\uffff\2\1\2\uffff\3\1\1\uffff\3\1\1\uffff\4\1\1\uffff"+
"\3\1\1\uffff\3\1\1\uffff\1\1\1\uffff\1\1\2\uffff\2\1\2\uffff\7\1\2\uffff"+
"\2\1\1\uffff\2\1\2\uffff\1\1\1\uffff\14\1\1\uffff\2\1\1\uffff\4\1\1\uffff"+
"\2\1\2\uffff\2\1\1\uffff\5\1\3\uffff\1\1\10\uffff\2\1\3\uffff\1\1\2\uffff"+
"\1\1\10\uffff\1\55\10\uffff\1\1\6\uffff\1\56\3\uffff\1\57",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"",
"",
"",
""
};
static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS);
static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS);
static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS);
static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS);
static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS);
static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS);
static final short[][] DFA22_transition;
static {
int numStates = DFA22_transitionS.length;
DFA22_transition = new short[numStates][];
for (int i=0; ih= selectionTypeHint |t= selectionTupleOrNestedSelector |l= selectionList |m= selectionMapOrSet );";
}
@Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA22_45 = input.LA(1);
int index22_45 = input.index();
input.rewind();
s = -1;
if ( (synpred4_Parser()) ) {s = 48;}
else if ( (true) ) {s = 49;}
input.seek(index22_45);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 22, _s, input);
error(nvae);
throw nvae;
}
}
static final String DFA30_eotS =
"\127\uffff";
static final String DFA30_eofS =
"\1\uffff\31\42\1\uffff\1\32\5\42\4\uffff\31\42\31\32";
static final String DFA30_minS =
"\1\6\31\43\1\uffff\6\43\2\uffff\2\32\62\43";
static final String DFA30_maxS =
"\1\u00d9\31\u00e5\1\uffff\6\u00e5\2\uffff\2\u00c0\62\u00e5";
static final String DFA30_acceptS =
"\32\uffff\1\2\6\uffff\1\3\1\1\64\uffff";
static final String DFA30_specialS =
"\127\uffff}>";
static final String[] DFA30_transitionS = {
"\1\32\4\uffff\1\32\10\uffff\1\32\3\uffff\1\32\1\uffff\1\1\1\32\2\uffff"+
"\1\3\1\uffff\3\3\4\uffff\1\3\1\uffff\1\4\3\uffff\1\5\1\6\1\7\1\uffff"+
"\1\3\1\37\3\3\1\uffff\2\3\1\31\1\10\1\uffff\2\3\1\27\1\11\1\3\3\uffff"+
"\1\40\1\12\1\uffff\1\13\2\uffff\3\3\1\14\1\uffff\1\3\1\uffff\2\3\1\uffff"+
"\3\3\3\uffff\1\15\2\3\1\uffff\1\16\1\3\2\uffff\2\40\1\3\1\uffff\3\3\1"+
"\uffff\4\3\1\uffff\1\34\2\3\1\uffff\2\32\1\3\1\uffff\1\3\1\uffff\1\32"+
"\2\uffff\2\3\2\uffff\5\3\2\32\2\uffff\2\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
"\1\3\1\17\5\3\1\20\1\30\1\21\1\26\1\22\1\uffff\1\41\1\3\1\uffff\1\36"+
"\3\3\1\uffff\2\3\2\uffff\2\3\1\uffff\1\23\1\3\1\24\1\25\1\3\3\uffff\1"+
"\35\10\uffff\1\33\1\2\3\uffff\1\32\2\uffff\1\32\21\uffff\1\32",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\uffff\2\32\1\uffff\2\32\1\uffff\1\44\3\32\5\uffff"+
"\3\32\2\uffff\1\32",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\uffff\2\42\1\uffff\2\42\1\uffff\1\43\3\42\5\uffff"+
"\3\42\2\uffff\1\42",
"",
"",
"\1\45\3\uffff\1\47\1\uffff\3\47\4\uffff\1\47\1\uffff\1\50\3\uffff\1"+
"\51\1\52\1\53\1\uffff\1\47\1\42\3\47\1\uffff\2\47\1\75\1\54\1\uffff\2"+
"\47\1\73\1\55\1\47\3\uffff\1\42\1\56\1\uffff\1\57\2\uffff\3\47\1\60\1"+
"\uffff\1\47\1\uffff\2\47\1\uffff\3\47\3\uffff\1\61\2\47\1\uffff\1\62"+
"\1\47\2\uffff\2\42\1\47\1\uffff\3\47\1\uffff\4\47\1\uffff\1\42\2\47\3"+
"\uffff\1\47\1\uffff\1\47\4\uffff\2\47\2\uffff\5\47\4\uffff\2\47\1\uffff"+
"\2\47\2\uffff\1\47\1\uffff\1\47\1\63\5\47\1\64\1\74\1\65\1\72\1\66\1"+
"\uffff\1\41\1\47\1\uffff\1\42\3\47\1\uffff\2\47\2\uffff\2\47\1\uffff"+
"\1\67\1\47\1\70\1\71\1\47\3\uffff\1\42\11\uffff\1\46",
"\1\76\3\uffff\1\100\1\uffff\3\100\4\uffff\1\100\1\uffff\1\101\3\uffff"+
"\1\102\1\103\1\104\1\uffff\1\100\1\32\3\100\1\uffff\2\100\1\126\1\105"+
"\1\uffff\2\100\1\124\1\106\1\100\3\uffff\1\32\1\107\1\uffff\1\110\2\uffff"+
"\3\100\1\111\1\uffff\1\100\1\uffff\2\100\1\uffff\3\100\3\uffff\1\112"+
"\2\100\1\uffff\1\113\1\100\2\uffff\2\32\1\100\1\uffff\3\100\1\uffff\4"+
"\100\1\uffff\1\32\2\100\3\uffff\1\100\1\uffff\1\100\4\uffff\2\100\2\uffff"+
"\5\100\4\uffff\2\100\1\uffff\2\100\2\uffff\1\100\1\uffff\1\100\1\114"+
"\5\100\1\115\1\125\1\116\1\123\1\117\1\uffff\1\41\1\100\1\uffff\1\32"+
"\3\100\1\uffff\2\100\2\uffff\2\100\1\uffff\1\120\1\100\1\121\1\122\1"+
"\100\3\uffff\1\32\11\uffff\1\77",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\42\3\uffff\1\42\46\uffff\1\42\32\uffff\1\42\25\uffff\1\42\2\uffff"+
"\1\42\114\uffff\1\42\1\41\2\42\1\uffff\2\42\1\uffff\4\42\5\uffff\3\42"+
"\2\uffff\1\42",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32",
"\1\32\3\uffff\1\32\46\uffff\1\32\32\uffff\1\32\25\uffff\1\32\2\uffff"+
"\1\32\114\uffff\1\32\1\41\2\32\1\uffff\2\32\1\uffff\4\32\5\uffff\3\32"+
"\2\uffff\1\32"
};
static final short[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS);
static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS);
static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS);
static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS);
static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS);
static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS);
static final short[][] DFA30_transition;
static {
int numStates = DFA30_transitionS.length;
DFA30_transition = new short[numStates][];
for (int i=0; i";
static final String[] DFA201_transitionS = {
"\1\20\3\uffff\1\20\1\uffff\1\17\1\16\1\20\4\uffff\1\20\1\uffff\1\20\3"+
"\uffff\3\20\1\uffff\3\20\1\1\1\20\1\7\4\20\1\uffff\5\20\3\uffff\2\20"+
"\1\uffff\1\20\2\uffff\4\20\1\uffff\1\20\1\2\1\15\1\14\1\uffff\3\20\2"+
"\uffff\1\10\3\20\1\uffff\2\20\2\uffff\3\20\1\5\1\3\2\20\1\uffff\4\20"+
"\1\11\3\20\3\uffff\1\20\1\uffff\1\20\4\uffff\1\4\1\20\2\uffff\5\20\4"+
"\uffff\2\20\1\uffff\2\20\1\2\1\uffff\1\20\1\uffff\6\20\1\6\5\20\2\uffff"+
"\1\20\1\uffff\2\20\1\13\1\12\1\uffff\2\20\2\uffff\2\20\1\uffff\5\20\3"+
"\uffff\1\20\11\uffff\1\20",
"\1\uffff",
"",
"\1\uffff",
"\1\5\117\uffff\1\20\41\uffff\1\20\2\uffff\1\20",
"",
"\1\uffff",
"",
"",
"",
"\1\uffff",
"\1\25\3\uffff\1\25\1\uffff\3\25\4\uffff\1\25\1\uffff\1\25\3\uffff\3"+
"\25\1\uffff\5\25\1\uffff\4\25\1\uffff\5\25\3\uffff\2\25\1\uffff\1\25"+
"\2\uffff\4\25\1\uffff\1\25\1\uffff\2\25\1\uffff\3\25\3\uffff\3\25\1\uffff"+
"\2\25\2\uffff\3\25\1\uffff\3\25\1\uffff\4\25\1\uffff\3\25\3\uffff\1\25"+
"\1\uffff\1\25\4\uffff\2\25\2\uffff\5\25\4\uffff\2\25\1\uffff\2\25\2\uffff"+
"\1\25\1\uffff\14\25\2\uffff\1\25\1\uffff\4\25\1\uffff\2\25\2\uffff\2"+
"\25\1\uffff\5\25\2\uffff\1\20\1\25\11\uffff\1\25\26\uffff\1\20\2\uffff"+
"\1\20",
"\1\uffff",
"\1\27\3\uffff\1\27\1\uffff\3\27\4\uffff\1\27\1\uffff\1\27\3\uffff\3"+
"\27\1\uffff\5\27\1\uffff\4\27\1\uffff\5\27\3\uffff\2\27\1\uffff\1\27"+
"\2\uffff\4\27\1\uffff\1\27\1\uffff\2\27\1\uffff\3\27\3\uffff\3\27\1\uffff"+
"\2\27\2\uffff\3\27\1\uffff\3\27\1\uffff\4\27\1\uffff\3\27\3\uffff\1\27"+
"\1\uffff\1\27\4\uffff\2\27\2\uffff\5\27\4\uffff\2\27\1\uffff\2\27\2\uffff"+
"\1\27\1\uffff\14\27\1\uffff\2\27\1\uffff\4\27\1\uffff\2\27\2\uffff\2"+
"\27\1\uffff\5\27\2\uffff\1\20\1\27\10\uffff\2\27\26\uffff\1\20\2\uffff"+
"\1\20",
"\1\uffff",
"\1\31\3\uffff\1\31\1\uffff\3\31\4\uffff\1\31\1\uffff\1\31\3\uffff\3"+
"\31\1\uffff\5\31\1\uffff\4\31\1\uffff\5\31\3\uffff\2\31\1\uffff\1\31"+
"\2\uffff\4\31\1\uffff\1\31\1\uffff\2\31\1\uffff\3\31\3\uffff\3\31\1\uffff"+
"\2\31\2\uffff\3\31\1\uffff\3\31\1\uffff\4\31\1\uffff\3\31\3\uffff\1\31"+
"\1\uffff\1\31\4\uffff\2\31\2\uffff\5\31\4\uffff\2\31\1\uffff\2\31\2\uffff"+
"\1\31\1\uffff\14\31\1\uffff\2\31\1\uffff\4\31\1\uffff\2\31\2\uffff\2"+
"\31\1\uffff\5\31\2\uffff\1\20\1\31\10\uffff\2\31\26\uffff\1\20\2\uffff"+
"\1\20",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] DFA201_eot = DFA.unpackEncodedString(DFA201_eotS);
static final short[] DFA201_eof = DFA.unpackEncodedString(DFA201_eofS);
static final char[] DFA201_min = DFA.unpackEncodedStringToUnsignedChars(DFA201_minS);
static final char[] DFA201_max = DFA.unpackEncodedStringToUnsignedChars(DFA201_maxS);
static final short[] DFA201_accept = DFA.unpackEncodedString(DFA201_acceptS);
static final short[] DFA201_special = DFA.unpackEncodedString(DFA201_specialS);
static final short[][] DFA201_transition;
static {
int numStates = DFA201_transitionS.length;
DFA201_transition = new short[numStates][];
for (int i=0; i K_CLUSTER | ( K_FULL )? K_SCHEMA | ( K_KEYSPACES )=> K_KEYSPACES | ( K_ONLY )? K_KEYSPACE (ks= keyspaceName )? | ( K_TABLES )=> K_TABLES | K_COLUMNFAMILY cf= columnFamilyName | K_INDEX idx= columnFamilyName | K_MATERIALIZED K_VIEW view= columnFamilyName | ( K_TYPES )=> K_TYPES | K_TYPE tn= userTypeName | ( K_FUNCTIONS )=> K_FUNCTIONS | K_FUNCTION fn= functionName | ( K_AGGREGATES )=> K_AGGREGATES | K_AGGREGATE ag= functionName | ( (ksT= IDENT |ksT= QUOTED_NAME |ksK= unreserved_keyword ) '.' )? (tT= IDENT |tT= QUOTED_NAME |tK= unreserved_keyword ) )";
}
@Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA201_6 = input.LA(1);
int index201_6 = input.index();
input.rewind();
s = -1;
if ( (synpred7_Parser()) ) {s = 19;}
else if ( (true) ) {s = 16;}
input.seek(index201_6);
if ( s>=0 ) return s;
break;
case 1 :
int LA201_10 = input.LA(1);
int index201_10 = input.index();
input.rewind();
s = -1;
if ( (synpred8_Parser()) ) {s = 20;}
else if ( (true) ) {s = 16;}
input.seek(index201_10);
if ( s>=0 ) return s;
break;
case 2 :
int LA201_12 = input.LA(1);
int index201_12 = input.index();
input.rewind();
s = -1;
if ( (synpred9_Parser()) ) {s = 22;}
else if ( (true) ) {s = 16;}
input.seek(index201_12);
if ( s>=0 ) return s;
break;
case 3 :
int LA201_14 = input.LA(1);
int index201_14 = input.index();
input.rewind();
s = -1;
if ( (synpred10_Parser()) ) {s = 24;}
else if ( (true) ) {s = 16;}
input.seek(index201_14);
if ( s>=0 ) return s;
break;
case 4 :
int LA201_1 = input.LA(1);
int index201_1 = input.index();
input.rewind();
s = -1;
if ( (synpred5_Parser()) ) {s = 17;}
else if ( (true) ) {s = 16;}
input.seek(index201_1);
if ( s>=0 ) return s;
break;
case 5 :
int LA201_3 = input.LA(1);
int index201_3 = input.index();
input.rewind();
s = -1;
if ( (synpred6_Parser()) ) {s = 18;}
else if ( (true) ) {s = 16;}
input.seek(index201_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 201, _s, input);
error(nvae);
throw nvae;
}
}
static final String DFA199_eotS =
"\34\uffff";
static final String DFA199_eofS =
"\1\uffff\31\33\2\uffff";
static final String DFA199_minS =
"\1\32\31\u00b5\2\uffff";
static final String DFA199_maxS =
"\1\u00c0\31\u00da\2\uffff";
static final String DFA199_acceptS =
"\32\uffff\1\1\1\2";
static final String DFA199_specialS =
"\34\uffff}>";
static final String[] DFA199_transitionS = {
"\1\1\3\uffff\1\3\1\uffff\3\3\4\uffff\1\3\1\uffff\1\4\3\uffff\1\5\1\6"+
"\1\7\1\uffff\1\3\1\31\3\3\1\uffff\2\3\1\31\1\10\1\uffff\2\3\1\27\1\11"+
"\1\3\3\uffff\1\31\1\12\1\uffff\1\13\2\uffff\3\3\1\14\1\uffff\1\3\1\uffff"+
"\2\3\1\uffff\3\3\3\uffff\1\15\2\3\1\uffff\1\16\1\3\2\uffff\2\31\1\3\1"+
"\uffff\3\3\1\uffff\4\3\1\uffff\1\31\2\3\3\uffff\1\3\1\uffff\1\3\4\uffff"+
"\2\3\2\uffff\5\3\4\uffff\2\3\1\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\17"+
"\5\3\1\20\1\30\1\21\1\26\1\22\2\uffff\1\3\1\uffff\1\31\3\3\1\uffff\2"+
"\3\2\uffff\2\3\1\uffff\1\23\1\3\1\24\1\25\1\3\3\uffff\1\31\11\uffff\1"+
"\2",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"\1\33\41\uffff\1\32\2\uffff\1\33",
"",
""
};
static final short[] DFA199_eot = DFA.unpackEncodedString(DFA199_eotS);
static final short[] DFA199_eof = DFA.unpackEncodedString(DFA199_eofS);
static final char[] DFA199_min = DFA.unpackEncodedStringToUnsignedChars(DFA199_minS);
static final char[] DFA199_max = DFA.unpackEncodedStringToUnsignedChars(DFA199_maxS);
static final short[] DFA199_accept = DFA.unpackEncodedString(DFA199_acceptS);
static final short[] DFA199_special = DFA.unpackEncodedString(DFA199_specialS);
static final short[][] DFA199_transition;
static {
int numStates = DFA199_transitionS.length;
DFA199_transition = new short[numStates][];
for (int i=0; i> operations, ColumnIdentifier key] : (t= term ( '+' c= cident )? |c= cident sig= ( '+' | '-' ) t= term |c= cident i= INTEGER );";
}
}
static final String DFA246_eotS =
"\35\uffff";
static final String DFA246_eofS =
"\35\uffff";
static final String DFA246_minS =
"\1\32\31\u00dd\1\6\2\uffff";
static final String DFA246_maxS =
"\1\u00c0\31\u00dd\1\u00e4\2\uffff";
static final String DFA246_acceptS =
"\33\uffff\1\1\1\2";
static final String DFA246_specialS =
"\35\uffff}>";
static final String[] DFA246_transitionS = {
"\1\1\3\uffff\1\3\1\uffff\3\3\4\uffff\1\3\1\uffff\1\4\3\uffff\1\5\1\6"+
"\1\7\1\uffff\1\3\1\31\3\3\1\uffff\2\3\1\31\1\10\1\uffff\2\3\1\27\1\11"+
"\1\3\3\uffff\1\31\1\12\1\uffff\1\13\2\uffff\3\3\1\14\1\uffff\1\3\1\uffff"+
"\2\3\1\uffff\3\3\3\uffff\1\15\2\3\1\uffff\1\16\1\3\2\uffff\2\31\1\3\1"+
"\uffff\3\3\1\uffff\4\3\1\uffff\1\31\2\3\3\uffff\1\3\1\uffff\1\3\4\uffff"+
"\2\3\2\uffff\5\3\4\uffff\2\3\1\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\17"+
"\5\3\1\20\1\30\1\21\1\26\1\22\2\uffff\1\3\1\uffff\1\31\3\3\1\uffff\2"+
"\3\2\uffff\2\3\1\uffff\1\23\1\3\1\24\1\25\1\3\3\uffff\1\31\11\uffff\1"+
"\2",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\32",
"\1\33\4\uffff\1\33\10\uffff\1\33\3\uffff\1\33\2\uffff\1\33\2\uffff\1"+
"\33\1\uffff\3\33\4\uffff\1\33\1\uffff\1\33\3\uffff\3\33\1\uffff\5\33"+
"\1\uffff\4\33\1\uffff\5\33\3\uffff\2\33\1\uffff\1\33\2\uffff\4\33\1\uffff"+
"\1\33\1\uffff\2\33\1\uffff\3\33\3\uffff\3\33\1\uffff\2\33\2\uffff\3\33"+
"\1\uffff\3\33\1\uffff\4\33\1\uffff\3\33\1\uffff\3\33\1\uffff\1\33\4\uffff"+
"\2\33\2\uffff\7\33\2\uffff\2\33\1\uffff\2\33\2\uffff\1\33\1\uffff\14"+
"\33\2\uffff\1\33\1\uffff\4\33\1\uffff\2\33\2\uffff\2\33\1\uffff\5\33"+
"\3\uffff\1\33\15\uffff\1\33\2\uffff\1\33\34\uffff\1\34",
"",
""
};
static final short[] DFA246_eot = DFA.unpackEncodedString(DFA246_eotS);
static final short[] DFA246_eof = DFA.unpackEncodedString(DFA246_eofS);
static final char[] DFA246_min = DFA.unpackEncodedStringToUnsignedChars(DFA246_minS);
static final char[] DFA246_max = DFA.unpackEncodedStringToUnsignedChars(DFA246_maxS);
static final short[] DFA246_accept = DFA.unpackEncodedString(DFA246_acceptS);
static final short[] DFA246_special = DFA.unpackEncodedString(DFA246_specialS);
static final short[][] DFA246_transition;
static {
int numStates = DFA246_transitionS.length;
DFA246_transition = new short[numStates][];
for (int i=0; i' |s= STRING_LITERAL );";
}
}
public static final BitSet FOLLOW_selectStatement_in_cqlStatement59 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_insertStatement_in_cqlStatement88 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_updateStatement_in_cqlStatement117 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_batchStatement_in_cqlStatement146 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_deleteStatement_in_cqlStatement176 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_useStatement_in_cqlStatement205 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_truncateStatement_in_cqlStatement237 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createKeyspaceStatement_in_cqlStatement264 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createTableStatement_in_cqlStatement285 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createIndexStatement_in_cqlStatement308 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropKeyspaceStatement_in_cqlStatement331 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropTableStatement_in_cqlStatement353 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropIndexStatement_in_cqlStatement378 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alterTableStatement_in_cqlStatement403 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alterKeyspaceStatement_in_cqlStatement427 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_grantPermissionsStatement_in_cqlStatement448 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_revokePermissionsStatement_in_cqlStatement466 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_listPermissionsStatement_in_cqlStatement483 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createUserStatement_in_cqlStatement502 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alterUserStatement_in_cqlStatement526 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropUserStatement_in_cqlStatement551 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_listUsersStatement_in_cqlStatement577 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createTriggerStatement_in_cqlStatement602 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropTriggerStatement_in_cqlStatement623 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createTypeStatement_in_cqlStatement646 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alterTypeStatement_in_cqlStatement670 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropTypeStatement_in_cqlStatement695 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createFunctionStatement_in_cqlStatement721 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropFunctionStatement_in_cqlStatement741 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createAggregateStatement_in_cqlStatement763 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropAggregateStatement_in_cqlStatement782 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createRoleStatement_in_cqlStatement803 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alterRoleStatement_in_cqlStatement827 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropRoleStatement_in_cqlStatement852 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_listRolesStatement_in_cqlStatement878 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_grantRoleStatement_in_cqlStatement903 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_revokeRoleStatement_in_cqlStatement928 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_createMaterializedViewStatement_in_cqlStatement952 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropMaterializedViewStatement_in_cqlStatement964 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_alterMaterializedViewStatement_in_cqlStatement978 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_describeStatement_in_cqlStatement991 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_addIdentityStatement_in_cqlStatement1017 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dropIdentityStatement_in_cqlStatement1040 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_USE_in_useStatement1075 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_useStatement1079 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_SELECT_in_selectStatement1113 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001302210091L});
public static final BitSet FOLLOW_K_JSON_in_selectStatement1139 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001302210091L});
public static final BitSet FOLLOW_selectClause_in_selectStatement1148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_FROM_in_selectStatement1156 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_selectStatement1160 = new BitSet(new long[]{0x0000000800000002L,0x8000020000100000L,0x0010000000000004L});
public static final BitSet FOLLOW_K_WHERE_in_selectStatement1170 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BDBFFD361FL,0x0000000800010001L});
public static final BitSet FOLLOW_whereClause_in_selectStatement1174 = new BitSet(new long[]{0x0000000800000002L,0x8000020000100000L,0x0000000000000004L});
public static final BitSet FOLLOW_K_GROUP_in_selectStatement1187 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_K_BY_in_selectStatement1189 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_groupByClause_in_selectStatement1191 = new BitSet(new long[]{0x0000000800000002L,0x8000020000000000L,0x0000000000000004L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_selectStatement1196 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_groupByClause_in_selectStatement1198 = new BitSet(new long[]{0x0000000800000002L,0x8000020000000000L,0x0000000000000004L,0x0000000000100000L});
public static final BitSet FOLLOW_K_ORDER_in_selectStatement1215 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_K_BY_in_selectStatement1217 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_orderByClause_in_selectStatement1219 = new BitSet(new long[]{0x0000000800000002L,0x0000020000000000L,0x0000000000000004L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_selectStatement1224 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_orderByClause_in_selectStatement1226 = new BitSet(new long[]{0x0000000800000002L,0x0000020000000000L,0x0000000000000004L,0x0000000000100000L});
public static final BitSet FOLLOW_K_PER_in_selectStatement1243 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_K_PARTITION_in_selectStatement1245 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
public static final BitSet FOLLOW_K_LIMIT_in_selectStatement1247 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_intValue_in_selectStatement1251 = new BitSet(new long[]{0x0000000800000002L,0x0000020000000000L});
public static final BitSet FOLLOW_K_LIMIT_in_selectStatement1266 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_intValue_in_selectStatement1270 = new BitSet(new long[]{0x0000000800000002L});
public static final BitSet FOLLOW_K_ALLOW_in_selectStatement1285 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
public static final BitSet FOLLOW_K_FILTERING_in_selectStatement1287 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DISTINCT_in_selectClause1342 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001302210091L});
public static final BitSet FOLLOW_selectors_in_selectClause1346 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectors_in_selectClause1358 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selector_in_selectors1383 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_selectors1388 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_selector_in_selectors1392 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_225_in_selectors1404 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unaliasedSelector_in_selector1437 = new BitSet(new long[]{0x0000008000000002L});
public static final BitSet FOLLOW_K_AS_in_selector1440 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_selector1444 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionAddition_in_unaliasedSelector1473 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionMultiplication_in_selectionAddition1500 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000240000L});
public static final BitSet FOLLOW_210_in_selectionAddition1516 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_selectionMultiplication_in_selectionAddition1520 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000240000L});
public static final BitSet FOLLOW_213_in_selectionAddition1534 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_selectionMultiplication_in_selectionAddition1538 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000240000L});
public static final BitSet FOLLOW_selectionGroup_in_selectionMultiplication1576 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_225_in_selectionMultiplication1592 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_selectionGroup_in_selectionMultiplication1596 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_216_in_selectionMultiplication1610 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_selectionGroup_in_selectionMultiplication1614 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_207_in_selectionMultiplication1628 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_selectionGroup_in_selectionMultiplication1632 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_selectionGroupWithField_in_selectionGroup1674 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionGroupWithoutField_in_selectionGroup1686 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_213_in_selectionGroup1696 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_selectionGroup_in_selectionGroup1700 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionGroupWithoutField_in_selectionGroupWithField1725 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100800000L});
public static final BitSet FOLLOW_selectorModifier_in_selectionGroupWithField1729 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fieldSelectorModifier_in_selectorModifier1756 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100800000L});
public static final BitSet FOLLOW_selectorModifier_in_selectorModifier1761 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_224_in_selectorModifier1772 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210095L});
public static final BitSet FOLLOW_collectionSubSelection_in_selectorModifier1776 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
public static final BitSet FOLLOW_226_in_selectorModifier1779 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100800000L});
public static final BitSet FOLLOW_selectorModifier_in_selectorModifier1783 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_215_in_fieldSelectorModifier1816 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_fieldSelectorModifier1820 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_term_in_collectionSubSelection1858 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_RANGE_in_collectionSubSelection1864 = new BitSet(new long[]{0xF7BEE2874D100842L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_collectionSubSelection1869 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RANGE_in_collectionSubSelection1884 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_collectionSubSelection1890 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_simpleUnaliasedSelector_in_selectionGroupWithoutField1942 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionTypeHint_in_selectionGroupWithoutField1960 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionTupleOrNestedSelector_in_selectionGroupWithoutField1972 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionList_in_selectionGroupWithoutField1984 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionMapOrSet_in_selectionGroupWithoutField1996 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_selectionTypeHint2024 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_selectionTypeHint2028 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_selectionTypeHint2030 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102010091L});
public static final BitSet FOLLOW_selectionGroupWithoutField_in_selectionTypeHint2034 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_224_in_selectionList2075 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001502210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionList2081 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400100000L});
public static final BitSet FOLLOW_212_in_selectionList2087 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionList2091 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400100000L});
public static final BitSet FOLLOW_226_in_selectionList2101 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_228_in_selectionMapOrSet2122 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionMapOrSet2126 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002002100000L});
public static final BitSet FOLLOW_selectionMap_in_selectionMapOrSet2132 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_selectionSet_in_selectionMapOrSet2141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_229_in_selectionMapOrSet2147 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_228_in_selectionMapOrSet2155 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_229_in_selectionMapOrSet2157 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_selectionMap2202 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionMap2206 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_selectionMap2214 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionMap2218 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_217_in_selectionMap2220 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionMap2224 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_selectionSet2276 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionSet2280 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_208_in_selectionTupleOrNestedSelector2326 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionTupleOrNestedSelector2330 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_selectionTupleOrNestedSelector2335 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionTupleOrNestedSelector2339 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_selectionTupleOrNestedSelector2346 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_sident_in_simpleUnaliasedSelector2371 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionLiteral_in_simpleUnaliasedSelector2417 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionFunction_in_simpleUnaliasedSelector2453 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_COUNT_in_selectionFunction2499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_selectionFunction2508 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000200000000L});
public static final BitSet FOLLOW_225_in_selectionFunction2510 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_selectionFunction2512 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_MAXWRITETIME_in_selectionFunction2557 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_selectionFunction2559 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_sident_in_selectionFunction2563 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100820000L});
public static final BitSet FOLLOW_selectorModifier_in_selectionFunction2567 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_selectionFunction2570 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_WRITETIME_in_selectionFunction2589 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_selectionFunction2594 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_sident_in_selectionFunction2598 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100820000L});
public static final BitSet FOLLOW_selectorModifier_in_selectionFunction2602 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_selectionFunction2605 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TTL_in_selectionFunction2624 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_selectionFunction2635 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_sident_in_selectionFunction2639 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100820000L});
public static final BitSet FOLLOW_selectorModifier_in_selectionFunction2643 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_selectionFunction2646 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CAST_in_selectionFunction2665 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_selectionFunction2675 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionFunction2679 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_K_AS_in_selectionFunction2681 = new BitSet(new long[]{0xC400E20000000000L,0x00000000440020A0L,0x000340003E080000L});
public static final BitSet FOLLOW_native_type_in_selectionFunction2685 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_selectionFunction2687 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_functionName_in_selectionFunction2699 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_selectionFunctionArgs_in_selectionFunction2703 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constant_in_selectionLiteral2749 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_NULL_in_selectionLiteral2779 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_selectionLiteral2813 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_selectionLiteral2817 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_selectionLiteral2838 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_selectionFunctionArgs2894 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102230091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionFunctionArgs2899 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_selectionFunctionArgs2915 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_unaliasedSelector_in_selectionFunctionArgs2919 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_selectionFunctionArgs2934 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_sident2957 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_sident2982 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_sident3001 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_relationOrExpression_in_whereClause3032 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_whereClause3036 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BDBFFD361FL,0x0000000800010001L});
public static final BitSet FOLLOW_relationOrExpression_in_whereClause3038 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_relation_in_relationOrExpression3060 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_customIndexExpression_in_relationOrExpression3069 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_227_in_customIndexExpression3097 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_idxName_in_customIndexExpression3099 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_customIndexExpression3102 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_customIndexExpression3106 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_customIndexExpression3108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_orderByClause3138 = new BitSet(new long[]{0x0000010000000002L,0x0000000000000004L});
public static final BitSet FOLLOW_K_ASC_in_orderByClause3141 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DESC_in_orderByClause3145 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unaliasedSelector_in_groupByClause3171 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_INSERT_in_insertStatement3196 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
public static final BitSet FOLLOW_K_INTO_in_insertStatement3198 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_insertStatement3202 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_normalInsertStatement_in_insertStatement3216 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_JSON_in_insertStatement3231 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000010L});
public static final BitSet FOLLOW_jsonInsertStatement_in_insertStatement3235 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_normalInsertStatement3271 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_normalInsertStatement3275 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_normalInsertStatement3282 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_normalInsertStatement3286 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_normalInsertStatement3293 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
public static final BitSet FOLLOW_K_VALUES_in_normalInsertStatement3301 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_normalInsertStatement3309 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_normalInsertStatement3313 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_normalInsertStatement3319 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_normalInsertStatement3323 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_normalInsertStatement3330 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L,0x0000200000000000L});
public static final BitSet FOLLOW_K_IF_in_normalInsertStatement3340 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_normalInsertStatement3342 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_normalInsertStatement3344 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000200000000000L});
public static final BitSet FOLLOW_usingClause_in_normalInsertStatement3359 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_jsonValue_in_jsonInsertStatement3405 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800001L,0x0000200000000000L});
public static final BitSet FOLLOW_K_DEFAULT_in_jsonInsertStatement3415 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L,0x0000010000000000L});
public static final BitSet FOLLOW_K_NULL_in_jsonInsertStatement3419 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L,0x0000200000000000L});
public static final BitSet FOLLOW_K_UNSET_in_jsonInsertStatement3427 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L,0x0000200000000000L});
public static final BitSet FOLLOW_K_IF_in_jsonInsertStatement3443 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_jsonInsertStatement3445 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_jsonInsertStatement3447 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000200000000000L});
public static final BitSet FOLLOW_usingClause_in_jsonInsertStatement3462 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_jsonValue3497 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_jsonValue3507 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_jsonValue3511 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_jsonValue3525 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_USING_in_usingClause3556 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000408000000L});
public static final BitSet FOLLOW_usingClauseObjective_in_usingClause3558 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_usingClause3563 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000408000000L});
public static final BitSet FOLLOW_usingClauseObjective_in_usingClause3565 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_TIMESTAMP_in_usingClauseObjective3587 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_intValue_in_usingClauseObjective3591 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TTL_in_usingClauseObjective3601 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_intValue_in_usingClauseObjective3605 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_UPDATE_in_updateStatement3639 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_updateStatement3643 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000200000020000L});
public static final BitSet FOLLOW_usingClause_in_updateStatement3653 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_K_SET_in_updateStatement3665 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnOperation_in_updateStatement3667 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_updateStatement3671 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnOperation_in_updateStatement3673 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_K_WHERE_in_updateStatement3684 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BDBFFD361FL,0x0000000800010001L});
public static final BitSet FOLLOW_whereClause_in_updateStatement3688 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_K_IF_in_updateStatement3698 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_EXISTS_in_updateStatement3702 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_updateConditions_in_updateStatement3710 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_columnCondition_in_updateConditions3752 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_updateConditions3757 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnCondition_in_updateConditions3759 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_DELETE_in_deleteStatement3796 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76FCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_deleteSelection_in_deleteStatement3802 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_FROM_in_deleteStatement3815 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_deleteStatement3819 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010200000000000L});
public static final BitSet FOLLOW_usingClauseDelete_in_deleteStatement3829 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L});
public static final BitSet FOLLOW_K_WHERE_in_deleteStatement3841 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BDBFFD361FL,0x0000000800010001L});
public static final BitSet FOLLOW_whereClause_in_deleteStatement3845 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_K_IF_in_deleteStatement3855 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_EXISTS_in_deleteStatement3859 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_updateConditions_in_deleteStatement3867 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_deleteOp_in_deleteSelection3914 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_deleteSelection3929 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_deleteOp_in_deleteSelection3933 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_cident_in_deleteOp3960 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_deleteOp3987 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100000000L});
public static final BitSet FOLLOW_224_in_deleteOp3989 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_deleteOp3993 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
public static final BitSet FOLLOW_226_in_deleteOp3995 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_deleteOp4007 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_215_in_deleteOp4009 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_deleteOp4013 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_USING_in_usingClauseDelete4033 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_K_TIMESTAMP_in_usingClauseDelete4035 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_intValue_in_usingClauseDelete4039 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_BEGIN_in_batchStatement4073 = new BitSet(new long[]{0x0400080000000000L,0x0000000000000000L,0x0000004000000000L});
public static final BitSet FOLLOW_K_UNLOGGED_in_batchStatement4083 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_K_COUNTER_in_batchStatement4089 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_K_BATCH_in_batchStatement4102 = new BitSet(new long[]{0x0000004000000000L,0x0000000020000002L,0x0000220000000000L});
public static final BitSet FOLLOW_usingClause_in_batchStatement4106 = new BitSet(new long[]{0x0000004000000000L,0x0000000020000002L,0x0000020000000000L});
public static final BitSet FOLLOW_batchStatementObjective_in_batchStatement4126 = new BitSet(new long[]{0x0000004000000000L,0x0000000020000002L,0x0000020000000000L,0x0000000004000000L});
public static final BitSet FOLLOW_218_in_batchStatement4128 = new BitSet(new long[]{0x0000004000000000L,0x0000000020000002L,0x0000020000000000L});
public static final BitSet FOLLOW_K_APPLY_in_batchStatement4142 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_K_BATCH_in_batchStatement4144 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_insertStatement_in_batchStatementObjective4175 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_updateStatement_in_batchStatementObjective4188 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_deleteStatement_in_batchStatementObjective4201 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createAggregateStatement4234 = new BitSet(new long[]{0x0000000100000000L,0x4000000000000000L});
public static final BitSet FOLLOW_K_OR_in_createAggregateStatement4237 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_K_REPLACE_in_createAggregateStatement4239 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_K_AGGREGATE_in_createAggregateStatement4251 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createAggregateStatement4260 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createAggregateStatement4262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createAggregateStatement4264 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_createAggregateStatement4278 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_createAggregateStatement4286 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000020011L});
public static final BitSet FOLLOW_comparatorType_in_createAggregateStatement4310 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_createAggregateStatement4326 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_createAggregateStatement4330 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_createAggregateStatement4354 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
public static final BitSet FOLLOW_K_SFUNC_in_createAggregateStatement4362 = new BitSet(new long[]{0xF7BAE28744000000L,0x30A33DD0DC76BCA1L,0x0007D9B9BFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_allowedFunctionName_in_createAggregateStatement4368 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_K_STYPE_in_createAggregateStatement4376 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_createAggregateStatement4382 = new BitSet(new long[]{0x0000000000000002L,0x0000000008001000L});
public static final BitSet FOLLOW_K_FINALFUNC_in_createAggregateStatement4400 = new BitSet(new long[]{0xF7BAE28744000000L,0x30A33DD0DC76BCA1L,0x0007D9B9BFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_allowedFunctionName_in_createAggregateStatement4406 = new BitSet(new long[]{0x0000000000000002L,0x0000000008000000L});
public static final BitSet FOLLOW_K_INITCOND_in_createAggregateStatement4433 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_createAggregateStatement4439 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropAggregateStatement4486 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_K_AGGREGATE_in_dropAggregateStatement4488 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropAggregateStatement4497 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropAggregateStatement4499 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_dropAggregateStatement4514 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_dropAggregateStatement4532 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000020011L});
public static final BitSet FOLLOW_comparatorType_in_dropAggregateStatement4560 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_dropAggregateStatement4578 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_dropAggregateStatement4582 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_dropAggregateStatement4610 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createFunctionStatement4667 = new BitSet(new long[]{0x0000000000000000L,0x4000000000020000L});
public static final BitSet FOLLOW_K_OR_in_createFunctionStatement4670 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_K_REPLACE_in_createFunctionStatement4672 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_K_FUNCTION_in_createFunctionStatement4684 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createFunctionStatement4693 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createFunctionStatement4695 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createFunctionStatement4697 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_createFunctionStatement4711 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_createFunctionStatement4719 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000020001L});
public static final BitSet FOLLOW_noncol_ident_in_createFunctionStatement4743 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_createFunctionStatement4747 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_createFunctionStatement4763 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_createFunctionStatement4767 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_createFunctionStatement4771 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_createFunctionStatement4795 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_RETURNS_in_createFunctionStatement4806 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
public static final BitSet FOLLOW_K_NULL_in_createFunctionStatement4808 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
public static final BitSet FOLLOW_K_CALLED_in_createFunctionStatement4814 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
public static final BitSet FOLLOW_K_ON_in_createFunctionStatement4820 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
public static final BitSet FOLLOW_K_NULL_in_createFunctionStatement4822 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
public static final BitSet FOLLOW_K_INPUT_in_createFunctionStatement4824 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_RETURNS_in_createFunctionStatement4832 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_createFunctionStatement4838 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
public static final BitSet FOLLOW_K_LANGUAGE_in_createFunctionStatement4846 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_IDENT_in_createFunctionStatement4852 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_K_AS_in_createFunctionStatement4860 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_STRING_LITERAL_in_createFunctionStatement4866 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropFunctionStatement4904 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_K_FUNCTION_in_dropFunctionStatement4906 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropFunctionStatement4915 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropFunctionStatement4917 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_dropFunctionStatement4932 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_dropFunctionStatement4950 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000020011L});
public static final BitSet FOLLOW_comparatorType_in_dropFunctionStatement4978 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_dropFunctionStatement4996 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_dropFunctionStatement5000 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_dropFunctionStatement5028 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createKeyspaceStatement5087 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_K_KEYSPACE_in_createKeyspaceStatement5089 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createKeyspaceStatement5092 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createKeyspaceStatement5094 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createKeyspaceStatement5096 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_createKeyspaceStatement5105 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_createKeyspaceStatement5113 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_properties_in_createKeyspaceStatement5115 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createTableStatement5150 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_K_COLUMNFAMILY_in_createTableStatement5152 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createTableStatement5155 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createTableStatement5157 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createTableStatement5159 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_createTableStatement5174 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_tableDefinition_in_createTableStatement5184 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_tableDefinition5203 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD369FL,0x0000000000000001L});
public static final BitSet FOLLOW_tableColumns_in_tableDefinition5205 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tableDefinition5210 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD369FL,0x0000000000120001L});
public static final BitSet FOLLOW_tableColumns_in_tableDefinition5212 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tableDefinition5219 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_tableDefinition5229 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_tableProperty_in_tableDefinition5231 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_tableDefinition5236 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_tableProperty_in_tableDefinition5238 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_ident_in_tableColumns5273 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_tableColumns5277 = new BitSet(new long[]{0x0000000000000002L,0x0000200000000000L,0x0000000000100080L});
public static final BitSet FOLLOW_K_STATIC_in_tableColumns5280 = new BitSet(new long[]{0x0000000000000002L,0x0000200000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_columnMask_in_tableColumns5289 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_K_PRIMARY_in_tableColumns5304 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
public static final BitSet FOLLOW_K_KEY_in_tableColumns5306 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_PRIMARY_in_tableColumns5318 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
public static final BitSet FOLLOW_K_KEY_in_tableColumns5320 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_tableColumns5322 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000010001L});
public static final BitSet FOLLOW_tablePartitionKey_in_tableColumns5324 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tableColumns5328 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_tableColumns5332 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tableColumns5339 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_MASKED_in_columnMask5369 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_columnMask5371 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_columnMask5375 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_columnMaskArguments_in_columnMask5377 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_MASKED_in_columnMask5388 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_columnMask5390 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_K_DEFAULT_in_columnMask5392 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_columnMaskArguments5412 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_columnMaskArguments5415 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_columnMaskArguments5419 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnMaskArguments5423 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_columnMaskArguments5428 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnMaskArguments5432 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_columnMaskArguments5438 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ident_in_tablePartitionKey5475 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_tablePartitionKey5485 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_tablePartitionKey5489 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tablePartitionKey5495 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_tablePartitionKey5499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tablePartitionKey5506 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_tableProperty5524 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_COMPACT_in_tableProperty5533 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_K_STORAGE_in_tableProperty5535 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CLUSTERING_in_tableProperty5545 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
public static final BitSet FOLLOW_K_ORDER_in_tableProperty5547 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_K_BY_in_tableProperty5549 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_tableProperty5551 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_tableClusteringOrder_in_tableProperty5553 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tableProperty5557 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_tableClusteringOrder_in_tableProperty5559 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tableProperty5564 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ident_in_tableClusteringOrder5592 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_K_ASC_in_tableClusteringOrder5595 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DESC_in_tableClusteringOrder5599 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createTypeStatement5637 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_K_TYPE_in_createTypeStatement5639 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createTypeStatement5642 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createTypeStatement5644 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createTypeStatement5646 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_userTypeName_in_createTypeStatement5664 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_createTypeStatement5677 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_typeColumns_in_createTypeStatement5679 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_createTypeStatement5684 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000120001L});
public static final BitSet FOLLOW_typeColumns_in_createTypeStatement5686 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_createTypeStatement5693 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fident_in_typeColumns5713 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_typeColumns5717 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createIndexStatement5751 = new BitSet(new long[]{0x1000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_K_CUSTOM_in_createIndexStatement5754 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_K_INDEX_in_createIndexStatement5760 = new BitSet(new long[]{0xF7BEE28744000000L,0x38A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createIndexStatement5763 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createIndexStatement5765 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createIndexStatement5767 = new BitSet(new long[]{0xF7BEE28744000000L,0x38A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_idxName_in_createIndexStatement5783 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
public static final BitSet FOLLOW_K_ON_in_createIndexStatement5788 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_createIndexStatement5792 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_createIndexStatement5794 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC77BDB1L,0x0047D9BD3FFD361FL,0x0000000000020001L});
public static final BitSet FOLLOW_indexIdent_in_createIndexStatement5797 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_createIndexStatement5801 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC77BDB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_indexIdent_in_createIndexStatement5803 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_createIndexStatement5810 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020200000000000L});
public static final BitSet FOLLOW_K_USING_in_createIndexStatement5821 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_STRING_LITERAL_in_createIndexStatement5825 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_createIndexStatement5840 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_properties_in_createIndexStatement5842 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_indexIdent5874 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_VALUES_in_indexIdent5902 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_indexIdent5904 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_indexIdent5908 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_indexIdent5910 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_KEYS_in_indexIdent5921 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_indexIdent5923 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_indexIdent5927 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_indexIdent5929 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ENTRIES_in_indexIdent5942 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_indexIdent5944 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_indexIdent5948 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_indexIdent5950 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_FULL_in_indexIdent5960 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_indexIdent5962 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_indexIdent5966 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_indexIdent5968 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createMaterializedViewStatement6005 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_K_MATERIALIZED_in_createMaterializedViewStatement6007 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L});
public static final BitSet FOLLOW_K_VIEW_in_createMaterializedViewStatement6009 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createMaterializedViewStatement6012 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createMaterializedViewStatement6014 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createMaterializedViewStatement6016 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_createMaterializedViewStatement6024 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_K_AS_in_createMaterializedViewStatement6026 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
public static final BitSet FOLLOW_K_SELECT_in_createMaterializedViewStatement6036 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001302210091L});
public static final BitSet FOLLOW_selectors_in_createMaterializedViewStatement6040 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_FROM_in_createMaterializedViewStatement6042 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_createMaterializedViewStatement6046 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000080L});
public static final BitSet FOLLOW_K_WHERE_in_createMaterializedViewStatement6057 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BDBFFD361FL,0x0000000800010001L});
public static final BitSet FOLLOW_whereClause_in_createMaterializedViewStatement6061 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_viewPrimaryKey_in_createMaterializedViewStatement6083 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_createMaterializedViewStatement6096 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_viewProperty_in_createMaterializedViewStatement6098 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_createMaterializedViewStatement6103 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_viewProperty_in_createMaterializedViewStatement6105 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_PRIMARY_in_viewPrimaryKey6129 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
public static final BitSet FOLLOW_K_KEY_in_viewPrimaryKey6131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_viewPrimaryKey6133 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000010001L});
public static final BitSet FOLLOW_viewPartitionKey_in_viewPrimaryKey6135 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_viewPrimaryKey6139 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_viewPrimaryKey6143 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_viewPrimaryKey6150 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ident_in_viewPartitionKey6187 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_viewPartitionKey6197 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_viewPartitionKey6201 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_viewPartitionKey6207 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_viewPartitionKey6211 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_viewPartitionKey6218 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_viewProperty6236 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_COMPACT_in_viewProperty6245 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_K_STORAGE_in_viewProperty6247 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CLUSTERING_in_viewProperty6257 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
public static final BitSet FOLLOW_K_ORDER_in_viewProperty6259 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_K_BY_in_viewProperty6261 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_viewProperty6263 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_viewClusteringOrder_in_viewProperty6265 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_viewProperty6269 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_viewClusteringOrder_in_viewProperty6271 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_viewProperty6276 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ident_in_viewClusteringOrder6304 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_K_ASC_in_viewClusteringOrder6307 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DESC_in_viewClusteringOrder6311 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createTriggerStatement6349 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000100000000L});
public static final BitSet FOLLOW_K_TRIGGER_in_createTriggerStatement6351 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_createTriggerStatement6354 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createTriggerStatement6356 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createTriggerStatement6358 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_createTriggerStatement6368 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
public static final BitSet FOLLOW_K_ON_in_createTriggerStatement6379 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_createTriggerStatement6383 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000200000000000L});
public static final BitSet FOLLOW_K_USING_in_createTriggerStatement6385 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_STRING_LITERAL_in_createTriggerStatement6389 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropTriggerStatement6430 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000100000000L});
public static final BitSet FOLLOW_K_TRIGGER_in_dropTriggerStatement6432 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropTriggerStatement6435 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropTriggerStatement6437 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_dropTriggerStatement6447 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
public static final BitSet FOLLOW_K_ON_in_dropTriggerStatement6450 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_dropTriggerStatement6454 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALTER_in_alterKeyspaceStatement6494 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_K_KEYSPACE_in_alterKeyspaceStatement6496 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterKeyspaceStatement6499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterKeyspaceStatement6501 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_alterKeyspaceStatement6510 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_alterKeyspaceStatement6520 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_properties_in_alterKeyspaceStatement6522 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALTER_in_alterTableStatement6557 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_K_COLUMNFAMILY_in_alterTableStatement6559 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterTableStatement6562 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTableStatement6564 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_alterTableStatement6579 = new BitSet(new long[]{0x0000001080000000L,0x0000000000000040L,0x0020000000000100L});
public static final BitSet FOLLOW_K_ALTER_in_alterTableStatement6599 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_alterTableStatement6603 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_K_TYPE_in_alterTableStatement6605 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_alterTableStatement6609 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALTER_in_alterTableStatement6622 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterTableStatement6626 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTableStatement6628 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_alterTableStatement6637 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000040L});
public static final BitSet FOLLOW_columnMask_in_alterTableStatement6657 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_alterTableStatement6677 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
public static final BitSet FOLLOW_K_MASKED_in_alterTableStatement6679 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ADD_in_alterTableStatement6694 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000010001L});
public static final BitSet FOLLOW_K_IF_in_alterTableStatement6698 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_alterTableStatement6700 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTableStatement6702 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000010001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement6734 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_alterTableStatement6739 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_isStaticColumn_in_alterTableStatement6744 = new BitSet(new long[]{0x0000000000000002L,0x0000200000000000L});
public static final BitSet FOLLOW_columnMask_in_alterTableStatement6749 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_alterTableStatement6773 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement6778 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_alterTableStatement6782 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L,0x0000000000100000L,0x0000000000120000L});
public static final BitSet FOLLOW_isStaticColumn_in_alterTableStatement6786 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_columnMask_in_alterTableStatement6791 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_alterTableStatement6816 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement6820 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_alterTableStatement6824 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L,0x0000000000100000L,0x0000000000120000L});
public static final BitSet FOLLOW_isStaticColumn_in_alterTableStatement6828 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_columnMask_in_alterTableStatement6833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_alterTableStatement6842 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_alterTableStatement6856 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000010001L});
public static final BitSet FOLLOW_K_IF_in_alterTableStatement6860 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTableStatement6862 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000010001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement6894 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000200000000000L});
public static final BitSet FOLLOW_208_in_alterTableStatement6916 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement6921 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_alterTableStatement6944 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement6948 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_alterTableStatement6955 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000200000000000L});
public static final BitSet FOLLOW_K_USING_in_alterTableStatement6977 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_K_TIMESTAMP_in_alterTableStatement6979 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_INTEGER_in_alterTableStatement6983 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_RENAME_in_alterTableStatement6999 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterTableStatement7003 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTableStatement7005 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement7038 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_alterTableStatement7040 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement7044 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_alterTableStatement7066 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement7070 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_alterTableStatement7072 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_ident_in_alterTableStatement7076 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_DROP_in_alterTableStatement7094 = new BitSet(new long[]{0x0080000000000000L});
public static final BitSet FOLLOW_K_COMPACT_in_alterTableStatement7096 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_K_STORAGE_in_alterTableStatement7098 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_WITH_in_alterTableStatement7111 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_properties_in_alterTableStatement7113 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_STATIC_in_isStaticColumn7155 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALTER_in_alterMaterializedViewStatement7191 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_K_MATERIALIZED_in_alterMaterializedViewStatement7193 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L});
public static final BitSet FOLLOW_K_VIEW_in_alterMaterializedViewStatement7195 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterMaterializedViewStatement7198 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterMaterializedViewStatement7200 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_alterMaterializedViewStatement7209 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_alterMaterializedViewStatement7221 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_properties_in_alterMaterializedViewStatement7223 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALTER_in_alterTypeStatement7263 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_K_TYPE_in_alterTypeStatement7265 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterTypeStatement7268 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTypeStatement7270 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_userTypeName_in_alterTypeStatement7279 = new BitSet(new long[]{0x0000001080000000L,0x0000000000000000L,0x0000000000000100L});
public static final BitSet FOLLOW_K_ALTER_in_alterTypeStatement7299 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_alterTypeStatement7305 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_K_TYPE_in_alterTypeStatement7307 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_alterTypeStatement7311 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ADD_in_alterTypeStatement7324 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterTypeStatement7327 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_alterTypeStatement7329 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTypeStatement7331 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_alterTypeStatement7344 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_alterTypeStatement7348 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_RENAME_in_alterTypeStatement7368 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_alterTypeStatement7371 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterTypeStatement7373 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_alterTypeStatement7382 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_alterTypeStatement7384 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_alterTypeStatement7388 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_alterTypeStatement7410 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_alterTypeStatement7414 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_alterTypeStatement7416 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_alterTypeStatement7420 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropKeyspaceStatement7472 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_K_KEYSPACE_in_dropKeyspaceStatement7474 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropKeyspaceStatement7477 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropKeyspaceStatement7479 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_dropKeyspaceStatement7488 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropTableStatement7522 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_K_COLUMNFAMILY_in_dropTableStatement7524 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropTableStatement7527 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropTableStatement7529 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_dropTableStatement7538 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropTypeStatement7572 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_K_TYPE_in_dropTypeStatement7574 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropTypeStatement7577 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropTypeStatement7579 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_userTypeName_in_dropTypeStatement7588 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropIndexStatement7622 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_K_INDEX_in_dropIndexStatement7624 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropIndexStatement7627 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropIndexStatement7629 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_indexName_in_dropIndexStatement7638 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropMaterializedViewStatement7678 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_K_MATERIALIZED_in_dropMaterializedViewStatement7680 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L});
public static final BitSet FOLLOW_K_VIEW_in_dropMaterializedViewStatement7682 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_IF_in_dropMaterializedViewStatement7685 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropMaterializedViewStatement7687 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_dropMaterializedViewStatement7696 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TRUNCATE_in_truncateStatement7727 = new BitSet(new long[]{0xF7FEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_COLUMNFAMILY_in_truncateStatement7730 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_truncateStatement7736 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_GRANT_in_grantPermissionsStatement7761 = new BitSet(new long[]{0x0800041400000000L,0x0004000000000248L,0x0000008000018000L});
public static final BitSet FOLLOW_permissionOrAll_in_grantPermissionsStatement7773 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
public static final BitSet FOLLOW_K_ON_in_grantPermissionsStatement7781 = new BitSet(new long[]{0xF7FEE28744000000L,0x30A3BDFCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_resource_in_grantPermissionsStatement7793 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_grantPermissionsStatement7801 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_grantPermissionsStatement7815 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_REVOKE_in_revokePermissionsStatement7846 = new BitSet(new long[]{0x0800041400000000L,0x0004000000000248L,0x0000008000018000L});
public static final BitSet FOLLOW_permissionOrAll_in_revokePermissionsStatement7858 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
public static final BitSet FOLLOW_K_ON_in_revokePermissionsStatement7866 = new BitSet(new long[]{0xF7FEE28744000000L,0x30A3BDFCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_resource_in_revokePermissionsStatement7878 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_FROM_in_revokePermissionsStatement7886 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_revokePermissionsStatement7900 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_GRANT_in_grantRoleStatement7931 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_grantRoleStatement7945 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_grantRoleStatement7953 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_grantRoleStatement7967 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_REVOKE_in_revokeRoleStatement7998 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_revokeRoleStatement8012 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_FROM_in_revokeRoleStatement8020 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_revokeRoleStatement8034 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_LIST_in_listPermissionsStatement8072 = new BitSet(new long[]{0x0800041400000000L,0x0004000000000248L,0x0000008000018000L});
public static final BitSet FOLLOW_permissionOrAll_in_listPermissionsStatement8084 = new BitSet(new long[]{0x0000000000000002L,0x0C40000000000000L});
public static final BitSet FOLLOW_K_ON_in_listPermissionsStatement8094 = new BitSet(new long[]{0xF7FEE28744000000L,0x30A3BDFCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_resource_in_listPermissionsStatement8096 = new BitSet(new long[]{0x0000000000000002L,0x0440000000000000L});
public static final BitSet FOLLOW_K_OF_in_listPermissionsStatement8111 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_roleName_in_listPermissionsStatement8113 = new BitSet(new long[]{0x0000000000000002L,0x0040000000000000L});
public static final BitSet FOLLOW_K_NORECURSIVE_in_listPermissionsStatement8127 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_permission8163 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALL_in_permissionOrAll8228 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_K_PERMISSIONS_in_permissionOrAll8232 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_permission_in_permissionOrAll8253 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000008L,0x0000000000100000L});
public static final BitSet FOLLOW_K_PERMISSION_in_permissionOrAll8257 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_permissionOrAll8266 = new BitSet(new long[]{0x0800041000000000L,0x0004000000000248L,0x0000008000018000L});
public static final BitSet FOLLOW_permission_in_permissionOrAll8270 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000008L,0x0000000000100000L});
public static final BitSet FOLLOW_K_PERMISSION_in_permissionOrAll8274 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_dataResource_in_resource8305 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_roleResource_in_resource8317 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_functionResource_in_resource8329 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_jmxResource_in_resource8341 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALL_in_dataResource8364 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L});
public static final BitSet FOLLOW_K_KEYSPACES_in_dataResource8366 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_KEYSPACE_in_dataResource8376 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_dataResource8382 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_COLUMNFAMILY_in_dataResource8394 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_dataResource8403 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALL_in_dataResource8413 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000001000000L});
public static final BitSet FOLLOW_K_TABLES_in_dataResource8415 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
public static final BitSet FOLLOW_K_IN_in_dataResource8417 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_K_KEYSPACE_in_dataResource8419 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_dataResource8425 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALL_in_jmxResource8448 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
public static final BitSet FOLLOW_K_MBEANS_in_jmxResource8450 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_MBEAN_in_jmxResource8470 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_mbean_in_jmxResource8472 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_MBEANS_in_jmxResource8482 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_mbean_in_jmxResource8484 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALL_in_roleResource8507 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
public static final BitSet FOLLOW_K_ROLES_in_roleResource8509 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ROLE_in_roleResource8519 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_roleResource8525 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALL_in_functionResource8557 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
public static final BitSet FOLLOW_K_FUNCTIONS_in_functionResource8559 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALL_in_functionResource8569 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
public static final BitSet FOLLOW_K_FUNCTIONS_in_functionResource8571 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
public static final BitSet FOLLOW_K_IN_in_functionResource8573 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_K_KEYSPACE_in_functionResource8575 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_functionResource8581 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_FUNCTION_in_functionResource8596 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_functionResource8600 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_functionResource8618 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000020011L});
public static final BitSet FOLLOW_comparatorType_in_functionResource8646 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_functionResource8664 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_functionResource8668 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_functionResource8696 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createUserStatement8744 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
public static final BitSet FOLLOW_K_USER_in_createUserStatement8746 = new BitSet(new long[]{0x0000000004000000L,0x0000000000800000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_createUserStatement8749 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createUserStatement8751 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createUserStatement8753 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_username_in_createUserStatement8761 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L,0x0020000000800000L});
public static final BitSet FOLLOW_K_WITH_in_createUserStatement8773 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L,0x0000000000000002L});
public static final BitSet FOLLOW_userPassword_in_createUserStatement8775 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_K_SUPERUSER_in_createUserStatement8789 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_NOSUPERUSER_in_createUserStatement8795 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALTER_in_alterUserStatement8840 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
public static final BitSet FOLLOW_K_USER_in_alterUserStatement8842 = new BitSet(new long[]{0x0000000004000000L,0x0000000000800000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_alterUserStatement8845 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterUserStatement8847 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_username_in_alterUserStatement8855 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L,0x0020000000800000L});
public static final BitSet FOLLOW_K_WITH_in_alterUserStatement8867 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L,0x0000000000000002L});
public static final BitSet FOLLOW_userPassword_in_alterUserStatement8869 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_K_SUPERUSER_in_alterUserStatement8883 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_NOSUPERUSER_in_alterUserStatement8897 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropUserStatement8943 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
public static final BitSet FOLLOW_K_USER_in_dropUserStatement8945 = new BitSet(new long[]{0x0000000004000000L,0x0000000000800000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_dropUserStatement8948 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropUserStatement8950 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_username_in_dropUserStatement8958 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ADD_in_addIdentityStatement8991 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_K_IDENTITY_in_addIdentityStatement8993 = new BitSet(new long[]{0x0000000004000000L,0x0000000000800000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_addIdentityStatement8996 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_addIdentityStatement8998 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_addIdentityStatement9000 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_identity_in_addIdentityStatement9008 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_addIdentityStatement9012 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_K_ROLE_in_addIdentityStatement9014 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_identity_in_addIdentityStatement9018 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropIdentityStatement9057 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_K_IDENTITY_in_dropIdentityStatement9059 = new BitSet(new long[]{0x0000000004000000L,0x0000000000800000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_dropIdentityStatement9062 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropIdentityStatement9064 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000011L});
public static final BitSet FOLLOW_identity_in_dropIdentityStatement9072 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_LIST_in_listUsersStatement9099 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000100000000000L});
public static final BitSet FOLLOW_K_USERS_in_listUsersStatement9101 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CREATE_in_createRoleStatement9135 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_K_ROLE_in_createRoleStatement9137 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_createRoleStatement9140 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_createRoleStatement9142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_createRoleStatement9144 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_createRoleStatement9152 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_createRoleStatement9162 = new BitSet(new long[]{0x0000000040000000L,0x2000080000200000L,0x0000000000800002L});
public static final BitSet FOLLOW_roleOptions_in_createRoleStatement9164 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ALTER_in_alterRoleStatement9208 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_K_ROLE_in_alterRoleStatement9210 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_alterRoleStatement9213 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_alterRoleStatement9215 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_alterRoleStatement9223 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_alterRoleStatement9233 = new BitSet(new long[]{0x0000000040000000L,0x2000080000200000L,0x0000000000800002L});
public static final BitSet FOLLOW_roleOptions_in_alterRoleStatement9235 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DROP_in_dropRoleStatement9279 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_K_ROLE_in_dropRoleStatement9281 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDCF6BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_K_IF_in_dropRoleStatement9284 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_K_EXISTS_in_dropRoleStatement9286 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_userOrRoleName_in_dropRoleStatement9294 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_LIST_in_listRolesStatement9334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
public static final BitSet FOLLOW_K_ROLES_in_listRolesStatement9336 = new BitSet(new long[]{0x0000000000000002L,0x0440000000000000L});
public static final BitSet FOLLOW_K_OF_in_listRolesStatement9346 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000011L});
public static final BitSet FOLLOW_roleName_in_listRolesStatement9348 = new BitSet(new long[]{0x0000000000000002L,0x0040000000000000L});
public static final BitSet FOLLOW_K_NORECURSIVE_in_listRolesStatement9361 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_roleOption_in_roleOptions9392 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_roleOptions9396 = new BitSet(new long[]{0x0000000040000000L,0x2000080000200000L,0x0000000000800002L});
public static final BitSet FOLLOW_roleOption_in_roleOptions9398 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_PASSWORD_in_roleOption9420 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_221_in_roleOption9422 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_STRING_LITERAL_in_roleOption9426 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_HASHED_in_roleOption9437 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_K_PASSWORD_in_roleOption9439 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_221_in_roleOption9441 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_STRING_LITERAL_in_roleOption9445 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_OPTIONS_in_roleOption9456 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_221_in_roleOption9458 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_fullMapLiteral_in_roleOption9462 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_SUPERUSER_in_roleOption9473 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_221_in_roleOption9475 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_BOOLEAN_in_roleOption9479 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_LOGIN_in_roleOption9490 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_221_in_roleOption9492 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_BOOLEAN_in_roleOption9496 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ACCESS_in_roleOption9507 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_roleOption9509 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_K_ALL_in_roleOption9511 = new BitSet(new long[]{0x2000000000000000L});
public static final BitSet FOLLOW_K_DATACENTERS_in_roleOption9513 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ACCESS_in_roleOption9524 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_K_TO_in_roleOption9526 = new BitSet(new long[]{0x2000000000000000L});
public static final BitSet FOLLOW_K_DATACENTERS_in_roleOption9528 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_228_in_roleOption9530 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_dcPermission_in_roleOption9532 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_212_in_roleOption9536 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_dcPermission_in_roleOption9538 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_229_in_roleOption9543 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ACCESS_in_roleOption9552 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_FROM_in_roleOption9554 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_K_ALL_in_roleOption9556 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_K_CIDRS_in_roleOption9558 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ACCESS_in_roleOption9569 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_FROM_in_roleOption9571 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_K_CIDRS_in_roleOption9573 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_228_in_roleOption9575 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_cidrPermission_in_roleOption9577 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_212_in_roleOption9581 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_cidrPermission_in_roleOption9583 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_229_in_roleOption9588 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_dcPermission9608 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_cidrPermission9630 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_PASSWORD_in_userPassword9652 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_STRING_LITERAL_in_userPassword9656 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_HASHED_in_userPassword9667 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_K_PASSWORD_in_userPassword9669 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_STRING_LITERAL_in_userPassword9673 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_describeStatement9707 = new BitSet(new long[]{0xF7FEE28744000000L,0x30A3FDFCDE77BCB1L,0x0047D9BD3FFD761FL,0x0000000000000001L});
public static final BitSet FOLLOW_K_CLUSTER_in_describeStatement9728 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_FULL_in_describeStatement9759 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
public static final BitSet FOLLOW_K_SCHEMA_in_describeStatement9765 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_KEYSPACES_in_describeStatement9784 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_ONLY_in_describeStatement9811 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_K_KEYSPACE_in_describeStatement9817 = new BitSet(new long[]{0xF7BEE28744000002L,0x30A3BDDCDC76BCB1L,0x8067D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_keyspaceName_in_describeStatement9823 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_TABLES_in_describeStatement9892 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_COLUMNFAMILY_in_describeStatement9923 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_describeStatement9927 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_INDEX_in_describeStatement9946 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_describeStatement9950 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_MATERIALIZED_in_describeStatement9975 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L});
public static final BitSet FOLLOW_K_VIEW_in_describeStatement9977 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_columnFamilyName_in_describeStatement9981 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_TYPES_in_describeStatement9997 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_TYPE_in_describeStatement10030 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_userTypeName_in_describeStatement10034 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_FUNCTIONS_in_describeStatement10071 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_FUNCTION_in_describeStatement10096 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_describeStatement10100 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_AGGREGATES_in_describeStatement10133 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_AGGREGATE_in_describeStatement10156 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BDBFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_functionName_in_describeStatement10160 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_IDENT_in_describeStatement10192 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_QUOTED_NAME_in_describeStatement10232 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_unreserved_keyword_in_describeStatement10266 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_215_in_describeStatement10281 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_IDENT_in_describeStatement10298 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_QUOTED_NAME_in_describeStatement10339 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_unreserved_keyword_in_describeStatement10374 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0020000000000000L});
public static final BitSet FOLLOW_K_WITH_in_describeStatement10458 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
public static final BitSet FOLLOW_K_INTERNALS_in_describeStatement10460 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EMPTY_QUOTED_NAME_in_cident10491 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ident_in_cident10506 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_ident10544 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_ident10569 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_ident10588 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_fident10613 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_fident10638 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_fident10657 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_noncol_ident10683 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_noncol_ident10708 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_noncol_ident10727 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ksName_in_keyspaceName10760 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ksName_in_indexName10794 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_215_in_indexName10797 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_idxName_in_indexName10801 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ksName_in_columnFamilyName10833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_215_in_columnFamilyName10836 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x8047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cfName_in_columnFamilyName10840 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_noncol_ident_in_userTypeName10865 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_215_in_userTypeName10867 = new BitSet(new long[]{0x31BA008744000000L,0x30A33DD898769C01L,0x000499B901F5361FL,0x0000000000000001L});
public static final BitSet FOLLOW_non_type_ident_in_userTypeName10873 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_roleName_in_userOrRoleName10905 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_ksName10928 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_ksName10953 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_ksName10972 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_ksName10982 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_cfName11004 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_cfName11029 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_cfName11048 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_cfName11058 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_idxName11080 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_idxName11105 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_idxName11124 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_idxName11134 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_roleName11156 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_roleName11181 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_roleName11197 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_roleName11216 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_roleName11226 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_constant11251 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTEGER_in_constant11263 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FLOAT_in_constant11282 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BOOLEAN_in_constant11303 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DURATION_in_constant11322 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UUID_in_constant11340 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_HEXNUMBER_in_constant11362 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_constant11378 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_POSITIVE_INFINITY_in_constant11398 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_NEGATIVE_INFINITY_in_constant11413 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_228_in_fullMapLiteral11454 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000003102210091L});
public static final BitSet FOLLOW_term_in_fullMapLiteral11460 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_217_in_fullMapLiteral11462 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_fullMapLiteral11466 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_212_in_fullMapLiteral11472 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_fullMapLiteral11476 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_217_in_fullMapLiteral11478 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_fullMapLiteral11482 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_229_in_fullMapLiteral11498 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_mapLiteral_in_setOrMapLiteral11522 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_setLiteral_in_setOrMapLiteral11535 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_212_in_setLiteral11580 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_setLiteral11584 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_217_in_mapLiteral11629 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_mapLiteral11633 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_mapLiteral11639 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_mapLiteral11643 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_217_in_mapLiteral11645 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_mapLiteral11649 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_listLiteral_in_collectionLiteral11677 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_228_in_collectionLiteral11687 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_collectionLiteral11691 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000002100000L});
public static final BitSet FOLLOW_setOrMapLiteral_in_collectionLiteral11695 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_229_in_collectionLiteral11700 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_228_in_collectionLiteral11718 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_229_in_collectionLiteral11720 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_224_in_listLiteral11761 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001502210091L});
public static final BitSet FOLLOW_term_in_listLiteral11767 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400100000L});
public static final BitSet FOLLOW_212_in_listLiteral11773 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_listLiteral11777 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400100000L});
public static final BitSet FOLLOW_226_in_listLiteral11787 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_228_in_usertypeLiteral11831 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_usertypeLiteral11835 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_217_in_usertypeLiteral11837 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_usertypeLiteral11841 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_212_in_usertypeLiteral11847 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_usertypeLiteral11851 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_217_in_usertypeLiteral11853 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_usertypeLiteral11857 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000100000L});
public static final BitSet FOLLOW_229_in_usertypeLiteral11864 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_tupleLiteral11901 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_tupleLiteral11905 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tupleLiteral11911 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_tupleLiteral11915 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tupleLiteral11922 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constant_in_value11945 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_collectionLiteral_in_value11967 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_usertypeLiteral_in_value11980 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tupleLiteral_in_value11995 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_NULL_in_value12011 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_value12035 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_value12039 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_value12050 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTEGER_in_intValue12090 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_intValue12104 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_intValue12108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_intValue12119 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_keyspaceName_in_functionName12165 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_215_in_functionName12167 = new BitSet(new long[]{0xF7BAE28744000000L,0x30A33DD0DC76BCA1L,0x0007D9B9BFFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_allowedFunctionName_in_functionName12173 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_allowedFunctionName12200 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_allowedFunctionName12234 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_function_keyword_in_allowedFunctionName12262 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TOKEN_in_allowedFunctionName12272 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_COUNT_in_allowedFunctionName12304 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_functionName_in_function12351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_function12353 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_function12355 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_functionName_in_function12385 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_function12387 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_functionArgs_in_function12391 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_function12393 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_term_in_functionArgs12426 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_functionArgs12432 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_functionArgs12436 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_termAddition_in_term12464 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_termMultiplication_in_termAddition12516 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000240000L});
public static final BitSet FOLLOW_210_in_termAddition12532 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_termMultiplication_in_termAddition12536 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000240000L});
public static final BitSet FOLLOW_213_in_termAddition12550 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_termMultiplication_in_termAddition12554 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000240000L});
public static final BitSet FOLLOW_termGroup_in_termMultiplication12592 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_225_in_termMultiplication12608 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_termGroup_in_termMultiplication12612 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_216_in_termMultiplication12626 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_termGroup_in_termMultiplication12630 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_207_in_termMultiplication12644 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_termGroup_in_termMultiplication12648 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000201008000L});
public static final BitSet FOLLOW_simpleTerm_in_termGroup12684 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_213_in_termGroup12707 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102010091L});
public static final BitSet FOLLOW_simpleTerm_in_termGroup12712 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_value_in_simpleTerm12745 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_function_in_simpleTerm12796 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_simpleTerm12842 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_simpleTerm12846 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_simpleTerm12848 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102010091L});
public static final BitSet FOLLOW_simpleTerm_in_simpleTerm12852 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CAST_in_simpleTerm12871 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_208_in_simpleTerm12873 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102010091L});
public static final BitSet FOLLOW_simpleTerm_in_simpleTerm12877 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_K_AS_in_simpleTerm12879 = new BitSet(new long[]{0xC400E20000000000L,0x00000000440020A0L,0x000340003E080000L});
public static final BitSet FOLLOW_native_type_in_simpleTerm12883 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_simpleTerm12885 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_columnOperation12907 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000120C80000L});
public static final BitSet FOLLOW_columnOperationDifferentiator_in_columnOperation12909 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_221_in_columnOperationDifferentiator12928 = new BitSet(new long[]{0xF7BEE2874D120840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_normalColumnOperation_in_columnOperationDifferentiator12930 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_shorthandColumnOperation_in_columnOperationDifferentiator12939 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_224_in_columnOperationDifferentiator12948 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnOperationDifferentiator12952 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
public static final BitSet FOLLOW_226_in_columnOperationDifferentiator12954 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_collectionColumnOperation_in_columnOperationDifferentiator12956 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_215_in_columnOperationDifferentiator12965 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_columnOperationDifferentiator12969 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_udtColumnOperation_in_columnOperationDifferentiator12971 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_term_in_normalColumnOperation12992 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
public static final BitSet FOLLOW_210_in_normalColumnOperation12995 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_normalColumnOperation12999 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_normalColumnOperation13020 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000240000L});
public static final BitSet FOLLOW_set_in_normalColumnOperation13024 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_normalColumnOperation13034 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_normalColumnOperation13052 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_INTEGER_in_normalColumnOperation13056 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_shorthandColumnOperation13084 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_shorthandColumnOperation13094 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_221_in_collectionColumnOperation13120 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_collectionColumnOperation13124 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_221_in_udtColumnOperation13150 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_udtColumnOperation13154 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_columnCondition13187 = new BitSet(new long[]{0x0100000000000000L,0x0000000001000000L,0x0000000000000000L,0x00000001F8804000L});
public static final BitSet FOLLOW_relationType_in_columnCondition13201 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnCondition13205 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_containsOperator_in_columnCondition13221 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnCondition13225 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_IN_in_columnCondition13239 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002010000L});
public static final BitSet FOLLOW_singleColumnInValues_in_columnCondition13257 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_inMarker_in_columnCondition13277 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_224_in_columnCondition13305 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnCondition13309 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
public static final BitSet FOLLOW_226_in_columnCondition13311 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L,0x0000000000000000L,0x00000000F8004000L});
public static final BitSet FOLLOW_relationType_in_columnCondition13329 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnCondition13333 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_IN_in_columnCondition13351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002010000L});
public static final BitSet FOLLOW_singleColumnInValues_in_columnCondition13373 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_inMarker_in_columnCondition13397 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_215_in_columnCondition13443 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_fident_in_columnCondition13447 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L,0x0000000000000000L,0x00000000F8004000L});
public static final BitSet FOLLOW_relationType_in_columnCondition13465 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_columnCondition13469 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_IN_in_columnCondition13487 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002010000L});
public static final BitSet FOLLOW_singleColumnInValues_in_columnCondition13509 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_inMarker_in_columnCondition13533 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_in_properties13595 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_K_AND_in_properties13599 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_property_in_properties13601 = new BitSet(new long[]{0x0000002000000002L});
public static final BitSet FOLLOW_noncol_ident_in_property13624 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_221_in_property13626 = new BitSet(new long[]{0xF7BEE28749100840L,0x30BBBDDCDC76BCB1L,0x0047D9BD3FFD367FL,0x0000000000000090L});
public static final BitSet FOLLOW_propertyValue_in_property13630 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_noncol_ident_in_property13642 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_221_in_property13644 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_fullMapLiteral_in_property13648 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constant_in_propertyValue13673 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_keyword_in_propertyValue13695 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_221_in_relationType13718 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_219_in_relationType13729 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_220_in_relationType13740 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_222_in_relationType13750 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_223_in_relationType13761 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_206_in_relationType13771 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_relation13793 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000F8004000L});
public static final BitSet FOLLOW_relationType_in_relation13797 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_relation13801 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_relation13813 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
public static final BitSet FOLLOW_K_LIKE_in_relation13815 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_relation13819 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_relation13831 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
public static final BitSet FOLLOW_K_IS_in_relation13833 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_K_NOT_in_relation13835 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
public static final BitSet FOLLOW_K_NULL_in_relation13837 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TOKEN_in_relation13847 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_tupleOfIdentifiers_in_relation13851 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000F8004000L});
public static final BitSet FOLLOW_relationType_in_relation13855 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_relation13859 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_relation13879 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
public static final BitSet FOLLOW_K_IN_in_relation13881 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_inMarker_in_relation13885 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_relation13905 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
public static final BitSet FOLLOW_K_IN_in_relation13907 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_singleColumnInValues_in_relation13911 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_relation13931 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_containsOperator_in_relation13935 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_relation13939 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cident_in_relation13951 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000100000000L});
public static final BitSet FOLLOW_224_in_relation13953 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_relation13957 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
public static final BitSet FOLLOW_226_in_relation13959 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000F8004000L});
public static final BitSet FOLLOW_relationType_in_relation13963 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_relation13967 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tupleOfIdentifiers_in_relation13979 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L,0x0000000000000000L,0x00000000F8004000L});
public static final BitSet FOLLOW_K_IN_in_relation13989 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002010000L});
public static final BitSet FOLLOW_208_in_relation14003 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_relation14005 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_inMarkerForTuple_in_relation14037 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tupleOfTupleLiterals_in_relation14071 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tupleOfMarkersForTuples_in_relation14105 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_relationType_in_relation14147 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_tupleLiteral_in_relation14151 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_relationType_in_relation14177 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_markerForTuple_in_relation14181 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_relation14211 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BDBFFD361FL,0x0000000000010001L});
public static final BitSet FOLLOW_relation_in_relation14213 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_209_in_relation14216 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CONTAINS_in_containsOperator14237 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
public static final BitSet FOLLOW_K_KEY_in_containsOperator14242 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_inMarker14267 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_inMarker14277 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_inMarker14281 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_tupleOfIdentifiers14313 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_tupleOfIdentifiers14317 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tupleOfIdentifiers14322 = new BitSet(new long[]{0xF7BEE28744020000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_cident_in_tupleOfIdentifiers14326 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tupleOfIdentifiers14332 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_singleColumnInValues14362 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102230091L});
public static final BitSet FOLLOW_term_in_singleColumnInValues14370 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_singleColumnInValues14375 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001102210091L});
public static final BitSet FOLLOW_term_in_singleColumnInValues14379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_singleColumnInValues14388 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_tupleOfTupleLiterals14418 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_tupleLiteral_in_tupleOfTupleLiterals14422 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tupleOfTupleLiterals14427 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_tupleLiteral_in_tupleOfTupleLiterals14431 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tupleOfTupleLiterals14437 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_markerForTuple14458 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_markerForTuple14468 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_markerForTuple14472 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_208_in_tupleOfMarkersForTuples14504 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_markerForTuple_in_tupleOfMarkersForTuples14508 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_212_in_tupleOfMarkersForTuples14513 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_markerForTuple_in_tupleOfMarkersForTuples14517 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000120000L});
public static final BitSet FOLLOW_209_in_tupleOfMarkersForTuples14523 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QMARK_in_inMarkerForTuple14544 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_217_in_inMarkerForTuple14554 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFD361FL,0x0000000000000001L});
public static final BitSet FOLLOW_noncol_ident_in_inMarkerForTuple14558 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_native_type_in_comparatorType14583 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_collection_type_in_comparatorType14599 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_tuple_type_in_comparatorType14611 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_vector_type_in_comparatorType14627 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_userTypeName_in_comparatorType14642 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_FROZEN_in_comparatorType14654 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_219_in_comparatorType14656 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_comparatorType14660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_222_in_comparatorType14662 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_comparatorType14680 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_ASCII_in_native_type14709 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_BIGINT_in_native_type14723 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_BLOB_in_native_type14736 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_BOOLEAN_in_native_type14751 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_COUNTER_in_native_type14763 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DECIMAL_in_native_type14775 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DOUBLE_in_native_type14787 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DURATION_in_native_type14800 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_FLOAT_in_native_type14811 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_INET_in_native_type14825 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_INT_in_native_type14840 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_SMALLINT_in_native_type14856 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TEXT_in_native_type14867 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TIMESTAMP_in_native_type14882 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TINYINT_in_native_type14892 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_UUID_in_native_type14904 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_VARCHAR_in_native_type14919 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_VARINT_in_native_type14931 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TIMEUUID_in_native_type14944 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DATE_in_native_type14955 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TIME_in_native_type14970 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_MAP_in_collection_type14998 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_219_in_collection_type15001 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_collection_type15005 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_collection_type15007 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_collection_type15011 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_222_in_collection_type15013 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_LIST_in_collection_type15031 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_219_in_collection_type15033 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_collection_type15037 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_222_in_collection_type15039 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_SET_in_collection_type15057 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_219_in_collection_type15060 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_collection_type15064 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_222_in_collection_type15066 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TUPLE_in_tuple_type15115 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_219_in_tuple_type15117 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_tuple_type15121 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040100000L});
public static final BitSet FOLLOW_212_in_tuple_type15126 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_tuple_type15130 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040100000L});
public static final BitSet FOLLOW_222_in_tuple_type15136 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_VECTOR_in_vector_type15157 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
public static final BitSet FOLLOW_219_in_vector_type15159 = new BitSet(new long[]{0xF7BEE28744000000L,0x30A3BDDCDC76BCB1L,0x0047D9BD3FFF361FL,0x0000000000000011L});
public static final BitSet FOLLOW_comparatorType_in_vector_type15163 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_212_in_vector_type15165 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_INTEGER_in_vector_type15170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
public static final BitSet FOLLOW_222_in_vector_type15172 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_username15199 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_username15207 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_username15215 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_identity15234 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_identity15242 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_identity15250 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_mbean15269 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENT_in_non_type_ident15294 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_QUOTED_NAME_in_non_type_ident15325 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_basic_unreserved_keyword_in_non_type_ident15350 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_KEY_in_non_type_ident15362 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unreserved_function_keyword_in_unreserved_keyword15405 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_unreserved_keyword15421 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_basic_unreserved_keyword_in_unreserved_function_keyword15476 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_native_type_in_unreserved_function_keyword15488 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_basic_unreserved_keyword15526 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_JSON_in_synpred1_Parser1133 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001302210091L});
public static final BitSet FOLLOW_selectClause_in_synpred1_Parser1135 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_DISTINCT_in_synpred2_Parser1336 = new BitSet(new long[]{0xF7BEE2874D100840L,0x32BBBDDCDC76BCB1L,0x8047D9BDBFFD367FL,0x0000001302210091L});
public static final BitSet FOLLOW_selectors_in_synpred2_Parser1338 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionGroupWithField_in_synpred3_Parser1667 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selectionTypeHint_in_synpred4_Parser1954 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_CLUSTER_in_synpred5_Parser9724 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_KEYSPACES_in_synpred6_Parser9780 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TABLES_in_synpred7_Parser9887 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_TYPES_in_synpred8_Parser9992 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_FUNCTIONS_in_synpred9_Parser10066 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_K_AGGREGATES_in_synpred10_Parser10128 = new BitSet(new long[]{0x0000000000000002L});
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy